Class Annotation

java.lang.Object
org.eclipse.core.runtime.PlatformObject
All Implemented Interfaces:
IAnnotation, IJavaElement, ISourceReference, org.eclipse.core.runtime.IAdaptable
Direct Known Subclasses:
AssistAnnotation

public class Annotation extends SourceRefElement implements IAnnotation
  • Field Details

    • NO_ANNOTATIONS

      public static final IAnnotation[] NO_ANNOTATIONS
    • NO_MEMBER_VALUE_PAIRS

      public static final IMemberValuePair[] NO_MEMBER_VALUE_PAIRS
    • name

      protected String name
    • memberValuePairName

      protected String memberValuePairName
  • Constructor Details

  • Method Details

    • equals

      public boolean equals(Object o)
      Description copied from class: JavaElement
      Returns true if this handle represents the same Java element as the given handle. By default, two handles represent the same element if they are identical or if they represent the same type of element, have equal names, parents, and occurrence counts.

      If a subclass has other requirements for equality, this method must be overridden.

      Overrides:
      equals in class SourceRefElement
      See Also:
      Object.equals(java.lang.Object)
    • getDeclaringMember

      public IMember getDeclaringMember()
    • getElementName

      public String getElementName()
      Description copied from interface: IJavaElement
      Returns the name of this element. This is a handle-only method.
      Specified by:
      getElementName in interface IAnnotation
      Specified by:
      getElementName in interface IJavaElement
      Overrides:
      getElementName in class JavaElement
      Returns:
      the element name
      See Also:
      IAdaptable
    • getElementType

      public int getElementType()
      Description copied from interface: IJavaElement
      Returns this element's kind encoded as an integer. This is a handle-only method.
      Specified by:
      getElementType in interface IJavaElement
      Returns:
      the kind of element; one of the constants declared in IJavaElement
      See Also:
      IJavaElement
    • getHandleMementoDelimiter

      protected char getHandleMementoDelimiter()
      Description copied from class: JavaElement
      Returns the char that marks the start of this handles contribution to a memento.
      Specified by:
      getHandleMementoDelimiter in class JavaElement
    • getMemberValuePairs

      public IMemberValuePair[] getMemberValuePairs() throws JavaModelException
      Description copied from interface: IAnnotation
      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".
      Specified by:
      getMemberValuePairs in interface IAnnotation
      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
    • getNameRange

      public ISourceRange getNameRange() throws JavaModelException
      Description copied from interface: ISourceReference
      Returns the name range associated with this element.

      If the element is an IMember, it returns the source range of this member's simple name, or null if this member does not have a name (for example, an initializer), or if this member does not have associated source code (for example, a binary type).

      If this element is an IImportDeclaration, the source range of this import declaration's name, or null if this import declaration does not have associated source code (for example, a binary type).
      The source range for the name includes the trailing '*' if the call to IImportDeclaration.isOnDemand() returns true.

      If this element is an IPackageDeclaration, the source range of this package declaration's name, or null if this package declaration does not have associated source code (for example, a binary type).

      If this element is an IAnnotation, the source range of this annotation's name, or null if this annotation does not have associated source code (for example, in a binary type).

      If this element is an ITypeParameter, the source range of this type parameter's name, or null if this type parameter does not have associated source code (for example, in a binary type).

      If this element is an ITypeRoot or IImportContainer, it returns null.

      Specified by:
      getNameRange in interface ISourceReference
      Returns:
      the name range associated with this element, or null if not available
      Throws:
      JavaModelException
    • getSourceRange

      public ISourceRange getSourceRange() throws JavaModelException
      Description copied from interface: ISourceReference
      Returns the source range associated with this element.

      For class files, this returns the range of the entire compilation unit associated with the class file (if there is one).

      If this element has no associated source code, either null is returned, or a source range with a -1 offset and a 0 length. SourceRange.isAvailable(ISourceRange) can be used to detect that case.

      Specified by:
      getSourceRange in interface ISourceReference
      Overrides:
      getSourceRange in class SourceRefElement
      Returns:
      the source range, or either null or [-1, 0] if this element has no associated source code
      Throws:
      JavaModelException - if an exception occurs while accessing its corresponding resource
      See Also:
      ISourceReference
    • getClassFile

      public IClassFile getClassFile()
      Overrides:
      getClassFile in class JavaElement
      See Also:
      IMember
    • hashCode

      public int hashCode()
      Description copied from class: JavaElement
      Returns the hash code for this Java element. By default, the hash code for an element is a combination of its name and parent's hash code. Elements with other requirements must override this method.
      Overrides:
      hashCode in class JavaElement
    • toStringName

      protected void toStringName(StringBuffer buffer)
      Description copied from class: JavaElement
      Debugging purposes
      Overrides:
      toStringName in class SourceRefElement