org.aspectj.org.eclipse.jdt.internal.core
Class DeltaProcessor
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.DeltaProcessor
public class DeltaProcessor
- extends java.lang.Object
This class is used by JavaModelManager to convert
IResourceDeltas into IJavaElementDeltas.
It also does some processing on the JavaElements involved
(e.g. closing them or updating classpaths).
High level summary of what the delta processor does:
- reacts to resource deltas
- fires corresponding Java element deltas
- deltas also contain non-Java resources changes
- updates the model to reflect the Java element changes
- notifies type hierarchies of the changes
- triggers indexing of the changed elements
- refresh external archives (delta, model update, indexing)
- is thread safe (one delta processor instance per thread, see DeltaProcessingState#resourceChanged(...))
- handles .classpath changes (updates package fragment roots, update project references, validate classpath (.classpath format,
resolved classpath, cycles))
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEBUG
public static boolean DEBUG
VERBOSE
public static boolean VERBOSE
PERF
public static boolean PERF
DEFAULT_CHANGE_EVENT
public static final int DEFAULT_CHANGE_EVENT
- See Also:
- Constant Field Values
javaModelDeltas
public java.util.ArrayList javaModelDeltas
reconcileDeltas
public java.util.HashMap reconcileDeltas
projectCachesToReset
public java.util.HashSet projectCachesToReset
oldRoots
public java.util.Map oldRoots
overridenEventType
public int overridenEventType
DeltaProcessor
public DeltaProcessor(DeltaProcessingState state,
JavaModelManager manager)
getTimeStamp
public static long getTimeStamp(java.io.File file)
checkExternalArchiveChanges
public void checkExternalArchiveChanges(IJavaElement[] elementsScope,
IProgressMonitor monitor)
throws JavaModelException
- Throws:
JavaModelException
touchProjects
protected void touchProjects(IProject[] projectsToTouch,
IProgressMonitor progressMonitor)
throws CoreException
- Throws:
CoreException
flush
public void flush()
fire
public void fire(IJavaElementDelta customDelta,
int eventType)
resetProjectCaches
public void resetProjectCaches()
registerJavaModelDelta
public void registerJavaModelDelta(IJavaElementDelta delta)
resourceChanged
public void resourceChanged(IResourceChangeEvent event)
updateCurrentDeltaAndIndex
public boolean updateCurrentDeltaAndIndex(IResourceDelta delta,
int elementType,
DeltaProcessor.RootInfo rootInfo)
updateJavaModel
public void updateJavaModel(IJavaElementDelta customDelta)