public abstract class AbstractExternalProjectImportBuilder<C extends AbstractImportFromExternalSystemControl> extends ProjectImportBuilder<DataNode<ProjectData>>
EXTENSIONS_POINT_NAME
Constructor and Description |
---|
AbstractExternalProjectImportBuilder(ProjectDataManager projectDataManager,
C control,
ProjectSystemId externalSystemId)
|
AbstractExternalProjectImportBuilder(ProjectDataManager projectDataManager,
C control,
ProjectSystemId externalSystemId)
|
AbstractExternalProjectImportBuilder(ProjectDataManager projectDataManager,
NotNullFactory<? extends C> controlFactory,
ProjectSystemId externalSystemId) |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
applyExtraSettings(WizardContext context) |
void |
applyProjectSettings(WizardContext context)
Applies external system-specific settings like project files location etc to the given context.
|
protected abstract void |
beforeCommit(DataNode<ProjectData> dataNode,
Project project) |
java.util.List<Module> |
commit(Project project,
ModifiableModuleModel model,
ModulesProvider modulesProvider,
ModifiableArtifactModel artifactModel) |
protected ExternalProjectRefreshCallback |
createFinalImportCallback(Project project,
ExternalProjectSettings projectSettings) |
Project |
createProject(java.lang.String name,
java.lang.String path) |
protected abstract void |
doPrepare(WizardContext context) |
void |
ensureProjectIsDefined(WizardContext wizardContext)
Asks current builder to ensure that target external project is defined.
|
protected void |
finishImport(Project project,
DataNode<ProjectData> externalProjectNode,
boolean isFromUI,
java.util.List<Module> modules,
IdeModifiableModelsProvider modelsProvider,
ExternalProjectSettings projectSettings) |
C |
getControl(Project currentProject) |
protected abstract java.io.File |
getExternalProjectConfigToUse(java.io.File file)
Allows to adjust external project config file to use on the basis of the given value.
|
DataNode<ProjectData> |
getExternalProjectNode() |
java.util.List<DataNode<ProjectData>> |
getList() |
Project |
getProject(WizardContext wizardContext)
Allows to get
Project instance to use. |
boolean |
isMarked(DataNode<ProjectData> element) |
void |
prepare(WizardContext context) |
protected Sdk |
resolveProjectJdk(WizardContext context) |
void |
setList(java.util.List<DataNode<ProjectData>> externalSystemProjects) |
void |
setOpenProjectSettingsAfter(boolean on) |
commit, getCurrentProject, getFileToImport, getIcon, getName, getTitle, isUpdate, setFileToImport, setUpdate
cleanup, commit, isOpenProjectSettingsAfter, isSuitableSdk, isSuitableSdkType, validate
@Deprecated public AbstractExternalProjectImportBuilder(ProjectDataManager projectDataManager, C control, ProjectSystemId externalSystemId)
@Deprecated public AbstractExternalProjectImportBuilder(ProjectDataManager projectDataManager, C control, ProjectSystemId externalSystemId)
public AbstractExternalProjectImportBuilder(ProjectDataManager projectDataManager, NotNullFactory<? extends C> controlFactory, ProjectSystemId externalSystemId)
public java.util.List<DataNode<ProjectData>> getList()
getList
in class ProjectImportBuilder<DataNode<ProjectData>>
public boolean isMarked(DataNode<ProjectData> element)
isMarked
in class ProjectImportBuilder<DataNode<ProjectData>>
public void setList(java.util.List<DataNode<ProjectData>> externalSystemProjects)
setList
in class ProjectImportBuilder<DataNode<ProjectData>>
public void setOpenProjectSettingsAfter(boolean on)
setOpenProjectSettingsAfter
in class ProjectImportBuilder<DataNode<ProjectData>>
public void prepare(WizardContext context)
protected Sdk resolveProjectJdk(WizardContext context)
protected abstract void doPrepare(WizardContext context)
public java.util.List<Module> commit(Project project, ModifiableModuleModel model, ModulesProvider modulesProvider, ModifiableArtifactModel artifactModel)
commit
in class ProjectImportBuilder<DataNode<ProjectData>>
protected void finishImport(Project project, DataNode<ProjectData> externalProjectNode, boolean isFromUI, java.util.List<Module> modules, IdeModifiableModelsProvider modelsProvider, ExternalProjectSettings projectSettings)
protected ExternalProjectRefreshCallback createFinalImportCallback(Project project, ExternalProjectSettings projectSettings)
protected abstract void beforeCommit(DataNode<ProjectData> dataNode, Project project)
public void ensureProjectIsDefined(WizardContext wizardContext) throws ConfigurationException
wizardContext
- current wizard contextConfigurationException
- if external project is not defined and can't be constructedprotected abstract java.io.File getExternalProjectConfigToUse(java.io.File file)
file
- base external project config filepublic DataNode<ProjectData> getExternalProjectNode()
public void applyProjectSettings(WizardContext context)
context
- storage for the project/module settings.protected abstract void applyExtraSettings(WizardContext context)
public Project getProject(WizardContext wizardContext)
Project
instance to use. Basically, there are two alternatives -
project from the current wizard context
and
default project
.wizardContext
- current wizard contextProject
instance to usepublic Project createProject(java.lang.String name, java.lang.String path)
createProject
in class ProjectBuilder