public abstract class AbstractLoadOperation extends AbstractWorkspaceOperation
Modifier and Type | Field and Description |
---|---|
protected static int |
DIFFERENT |
protected static int |
EQUAL |
protected static int |
GREATER_THAN |
protected static int |
SMALLER_THAN |
Constructor and Description |
---|
AbstractLoadOperation(java.lang.String label,
IMetaModelDescriptor mmDescriptor) |
Modifier and Type | Method and Description |
---|---|
protected <T> int |
compare(java.util.Collection<T> list1,
java.util.Collection<T> list2) |
protected int |
compare(IMetaModelDescriptor mmd1,
IMetaModelDescriptor mmd2) |
abstract boolean |
covers(java.util.Collection<org.eclipse.core.resources.IFile> files,
IMetaModelDescriptor mmDescriptor) |
abstract boolean |
covers(java.util.Collection<org.eclipse.core.resources.IProject> projects,
boolean includeReferencedProjects,
IMetaModelDescriptor mmDescriptor) |
protected SchedulingRuleFactory |
createSchedulingRuleFactory() |
protected java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> |
detectFilesToLoad(java.util.Collection<org.eclipse.core.resources.IFile> files,
IMetaModelDescriptor mmFilter,
boolean ignoreIfAlreadyLoaded,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> |
detectFilesToUnload(java.util.Collection<org.eclipse.core.resources.IFile> files,
IMetaModelDescriptor mmFilter,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
forceProxyResolution(java.util.Collection<org.eclipse.core.resources.IFile> files,
EcoreIndex lookupResolver,
org.eclipse.core.runtime.IProgressMonitor monitor)
This is a fast implementation of proxy resolution.
|
protected int |
getFilesToLoadCount(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToLoad) |
protected int |
getFilesToUnloadCount(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToUnload) |
IMetaModelDescriptor |
getMetaModelDescriptor() |
protected java.util.Collection<org.eclipse.core.resources.IProject> |
getProjectGroup(java.lang.Object contextObject,
boolean includeReferencingProjects)
Computes a group of projects from the given context object.
|
protected SchedulingRuleFactory |
getSchedulingRuleFactory() |
protected void |
loadModelFilesInEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain,
java.util.Collection<org.eclipse.core.resources.IFile> filesToLoadInEditingDomain,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
runDetectAndLoadModelFiles(java.util.Collection<org.eclipse.core.resources.IFile> files,
IMetaModelDescriptor mmDescriptor,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
runDetectAndReloadModelFiles(java.util.Collection<org.eclipse.core.resources.IFile> files,
IMetaModelDescriptor mmDescriptor,
boolean memoryOptimized,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
runLoadModelFiles(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToLoad,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
runReloadModelFiles(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToUnload,
java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToLoad,
boolean memoryOptimized,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
runUnloadModelFiles(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToUnload,
boolean memoryOptimized,
org.eclipse.core.runtime.IProgressMonitor monitor) |
protected void |
updateUnresolvedProxyBlackList(java.util.Collection<org.eclipse.core.resources.IFile> files,
ModelIndex blackList) |
getLabel
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getRule
getLabel
protected static int DIFFERENT
protected static int EQUAL
protected static int GREATER_THAN
protected static int SMALLER_THAN
public AbstractLoadOperation(java.lang.String label, IMetaModelDescriptor mmDescriptor)
public abstract boolean covers(java.util.Collection<org.eclipse.core.resources.IProject> projects, boolean includeReferencedProjects, IMetaModelDescriptor mmDescriptor)
projects
- The projects that this model load job may cover.includeReferencedProjects
- If true
, consider referenced projects.mmDescriptor
- The meta-model descriptor of the model which has been asked for
loading.public abstract boolean covers(java.util.Collection<org.eclipse.core.resources.IFile> files, IMetaModelDescriptor mmDescriptor)
files
- The list of files this loading job is supposed to cover.mmDescriptor
- The meta-model descriptor considered for loading.public IMetaModelDescriptor getMetaModelDescriptor()
protected java.util.Collection<org.eclipse.core.resources.IProject> getProjectGroup(java.lang.Object contextObject, boolean includeReferencingProjects)
includeReferencingProjects
is set to true
. The supported object types are:
contextObject
- A context object whose scope must be computed.includeReferencingProjects
- If true
also includes referencing projects.protected int getFilesToLoadCount(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToLoad)
protected int getFilesToUnloadCount(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToUnload)
protected void runDetectAndLoadModelFiles(java.util.Collection<org.eclipse.core.resources.IFile> files, IMetaModelDescriptor mmDescriptor, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> detectFilesToLoad(java.util.Collection<org.eclipse.core.resources.IFile> files, IMetaModelDescriptor mmFilter, boolean ignoreIfAlreadyLoaded, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected void runLoadModelFiles(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToLoad, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected void loadModelFilesInEditingDomain(org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain, java.util.Collection<org.eclipse.core.resources.IFile> filesToLoadInEditingDomain, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected void updateUnresolvedProxyBlackList(java.util.Collection<org.eclipse.core.resources.IFile> files, ModelIndex blackList)
protected void forceProxyResolution(java.util.Collection<org.eclipse.core.resources.IFile> files, EcoreIndex lookupResolver, org.eclipse.core.runtime.IProgressMonitor monitor)
protected void runDetectAndReloadModelFiles(java.util.Collection<org.eclipse.core.resources.IFile> files, IMetaModelDescriptor mmDescriptor, boolean memoryOptimized, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected void runReloadModelFiles(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToUnload, java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToLoad, boolean memoryOptimized, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected void runUnloadModelFiles(java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> filesToUnload, boolean memoryOptimized, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected java.util.Map<org.eclipse.emf.transaction.TransactionalEditingDomain,java.util.Collection<org.eclipse.core.resources.IFile>> detectFilesToUnload(java.util.Collection<org.eclipse.core.resources.IFile> files, IMetaModelDescriptor mmFilter, org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.OperationCanceledException
org.eclipse.core.runtime.OperationCanceledException
protected SchedulingRuleFactory getSchedulingRuleFactory()
protected SchedulingRuleFactory createSchedulingRuleFactory()
protected int compare(IMetaModelDescriptor mmd1, IMetaModelDescriptor mmd2)
protected <T> int compare(java.util.Collection<T> list1, java.util.Collection<T> list2)
list1
- list2
-