Klasse ExternalAnnotationTracker
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.ExternalAnnotationTracker
- Alle implementierten Schnittstellen:
EventListener
,org.eclipse.core.resources.IResourceChangeListener
public class ExternalAnnotationTracker
extends Object
implements org.eclipse.core.resources.IResourceChangeListener
Track changes of external annotation files and trigger closing / reloading of affected ClassFiles.
-
Feldübersicht
Von Schnittstelle geerbte Felder org.eclipse.core.resources.IResourceChangeListener
PROPERTY_EVENT_MASK
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic void
registerClassFile
(org.eclipse.core.runtime.IPath annotationBase, org.eclipse.core.runtime.IPath relativeAnnotationPath, ClassFile classFile) Register a ClassFile, to which the annotation attachment 'annotationBase' applies.void
resourceChanged
(org.eclipse.core.resources.IResourceChangeEvent event) Listen to resource change events concerning external annotations, that potentially affect a cached ClassFile.static void
unregisterClassFile
(org.eclipse.core.runtime.IPath annotationBase, org.eclipse.core.runtime.IPath relativeAnnotationPath) Unregister a class file that is being closed.
-
Methodendetails
-
registerClassFile
public static void registerClassFile(org.eclipse.core.runtime.IPath annotationBase, org.eclipse.core.runtime.IPath relativeAnnotationPath, ClassFile classFile) Register a ClassFile, to which the annotation attachment 'annotationBase' applies. This is done for the purpose to listen to changes in the corresponding external annotations and to force reloading the class file when necessary.- Parameter:
annotationBase
- the path of the annotation attachment (workspace absolute)relativeAnnotationPath
- path corresponding to the qualified name of the main type of the class file. The path is relative to 'annotationBase'. When appending the file extension for annotation files it points to the annotation file that would correspond to the given class file. The annotation file may or may not yet exist.classFile
- the ClassFile to register.
-
unregisterClassFile
public static void unregisterClassFile(org.eclipse.core.runtime.IPath annotationBase, org.eclipse.core.runtime.IPath relativeAnnotationPath) Unregister a class file that is being closed. Only to be invoked for class files that potentially are affected by external annotations.- Parameter:
annotationBase
- path of the corresponding annotation attachment (workspace absolute)relativeAnnotationPath
- path of the annotation file that would correspond to the given class file.
-
resourceChanged
public void resourceChanged(org.eclipse.core.resources.IResourceChangeEvent event) Listen to resource change events concerning external annotations, that potentially affect a cached ClassFile.- Angegeben von:
resourceChanged
in Schnittstelleorg.eclipse.core.resources.IResourceChangeListener
-