E - target external project data typeI - target ide project data typepublic interface ProjectDataService<E,I>
Order annotation where the smaller value corresponds to earlier execution;
| Modifier and Type | Field and Description |
|---|---|
static ExtensionPointName<ProjectDataService<?,?>> |
EP_NAME |
| Modifier and Type | Method and Description |
|---|---|
Computable<java.util.Collection<I>> |
computeOrphanData(java.util.Collection<DataNode<E>> toImport,
ProjectData projectData,
Project project,
IdeModifiableModelsProvider modelsProvider)
Compute orphan data.
|
Key<E> |
getTargetDataKey() |
void |
importData(java.util.Collection<DataNode<E>> toImport,
ProjectData projectData,
Project project,
IdeModifiableModelsProvider modelsProvider)
It's assumed that given data nodes present at the ide when this method returns.
|
default void |
onFailureImport(Project project) |
default void |
onSuccessImport(java.util.Collection<DataNode<E>> imported,
ProjectData projectData,
Project project,
IdeModelsProvider modelsProvider) |
default void |
postProcess(java.util.Collection<DataNode<E>> toImport,
ProjectData projectData,
Project project,
IdeModifiableModelsProvider modelsProvider) |
void |
removeData(Computable<java.util.Collection<I>> toRemove,
java.util.Collection<DataNode<E>> toIgnore,
ProjectData projectData,
Project project,
IdeModifiableModelsProvider modelsProvider)
Asks to remove all given ide project entities.
|
static final ExtensionPointName<ProjectDataService<?,?>> EP_NAME
Key<E> getTargetDataKey()
void importData(java.util.Collection<DataNode<E>> toImport, ProjectData projectData, Project project, IdeModifiableModelsProvider modelsProvider)
toImport - project - Computable<java.util.Collection<I>> computeOrphanData(java.util.Collection<DataNode<E>> toImport, ProjectData projectData, Project project, IdeModifiableModelsProvider modelsProvider)
void removeData(Computable<java.util.Collection<I>> toRemove, java.util.Collection<DataNode<E>> toIgnore, ProjectData projectData, Project project, IdeModifiableModelsProvider modelsProvider)
ProjectDataService might be configured for a target entity type, there is a possible case
that the entities have already been removed when this method is called. Then it's necessary to cleanup auxiliary data (if any)
or just return otherwise.toRemove - project entities to removeproject - target projectdefault void postProcess(java.util.Collection<DataNode<E>> toImport, ProjectData projectData, Project project, IdeModifiableModelsProvider modelsProvider)
default void onSuccessImport(java.util.Collection<DataNode<E>> imported, ProjectData projectData, Project project, IdeModelsProvider modelsProvider)
default void onFailureImport(Project project)