Interface IAnnotation
-
- All Superinterfaces:
IAdaptable
,IJavaElement
,ISourceReference
public interface IAnnotation extends IJavaElement, ISourceReference
Represents an annotation on a package declaration, a type, a method, a field or a local variable in a compilation unit or a class file.Annotations are obtained using
IAnnotatable.getAnnotation(String)
.Note that annotations are not children of their declaring element. To get a list of the annotations use
IAnnotatable.getAnnotations()
.- Since:
- 3.4
- Restriction:
- This interface is not intended to be implemented by clients.
-
-
Field Summary
-
Fields inherited from interface org.eclipse.jdt.core.IJavaElement
ANNOTATION, CLASS_FILE, COMPILATION_UNIT, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVA_MODEL, JAVA_MODULE, JAVA_PROJECT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
getElementName()
Returns the name of this annotation.IMemberValuePair[]
getMemberValuePairs()
Returns the member-value pairs of this annotation.int
getOccurrenceCount()
Returns the position relative to the order this annotation is defined in the source.-
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
-
Methods inherited from interface org.eclipse.jdt.core.IJavaElement
exists, getAncestor, getAttachedJavadoc, getCorrespondingResource, getElementType, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown
-
Methods inherited from interface org.eclipse.jdt.core.ISourceReference
exists, getNameRange, getSource, getSourceRange
-
-
-
-
Method Detail
-
getElementName
String getElementName()
Returns the name of this annotation. If this annotation is coming from a compilation unit, this is either a simple name (e.g. for@MyAnnot
, the name is "MyAnnot"), or a qualified name (e.g. for@x. y. MyAnnot
, the name is "x.y.MyAnnot"). If this annotation is coming from a class file, this is always a fully qualified name.Note that the name has been trimmed from its whitespaces. To extract the name as it appears in the source, use
ISourceReference.getNameRange()
.This is a handle-only method. The annotation may or may not be present.
- Specified by:
getElementName
in interfaceIJavaElement
- Returns:
- the name of this annotation
-
getMemberValuePairs
IMemberValuePair[] getMemberValuePairs() throws JavaModelException
Returns the member-value pairs of this annotation. Returns an empty array if this annotation is a marker annotation. Returns a size-1 array if this annotation is a single member annotation. In this case, the member name is always"value"
.- Returns:
- the member-value pairs of this annotation
- Throws:
JavaModelException
- if this element does not exist or if an exception occurs while accessing its corresponding resource
-
getOccurrenceCount
int getOccurrenceCount()
Returns the position relative to the order this annotation is defined in the source. Numbering starts at 1 (thus the first occurrence is occurrence 1, not occurrence 0).Two annotations ann1 and ann2 that are equal (e.g. 2 annotations with the same name on the same type) can be distinguished using their occurrence counts. If annotation ann1 appears first in the source, it will have an occurrence count of 1. If annotation ann2 appears right after annotation ann1, it will have an occurrence count of 2.
This is a handle-only method. The annotation may or may not be present.
- Returns:
- the position relative to the order this annotation is defined in the source
-
-