Interface IAnnotation

All Superinterfaces:
org.eclipse.core.runtime.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.
  • Method Details

    • 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 interface IJavaElement
      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