org.aspectj.org.eclipse.jdt.internal.core
Class Annotation

java.lang.Object
  extended by PlatformObject
      extended by org.aspectj.org.eclipse.jdt.internal.core.JavaElement
          extended by org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
              extended by org.aspectj.org.eclipse.jdt.internal.core.Annotation
All Implemented Interfaces:
IAnnotation, IJavaElement, ISourceReference
Direct Known Subclasses:
AssistAnnotation

public class Annotation
extends SourceRefElement
implements IAnnotation


Field Summary
protected  java.lang.String memberValuePairName
           
protected  java.lang.String name
           
static IAnnotation[] NO_ANNOTATIONS
           
static IMemberValuePair[] NO_MEMBER_VALUE_PAIRS
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
occurrenceCount
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
JEM_ANNOTATION, JEM_CLASSFILE, JEM_COMPILATIONUNIT, JEM_COUNT, JEM_ESCAPE, JEM_FIELD, JEM_IMPORTDECLARATION, JEM_INITIALIZER, JEM_JAVAPROJECT, JEM_LOCALVARIABLE, JEM_METHOD, JEM_PACKAGEDECLARATION, JEM_PACKAGEFRAGMENT, JEM_PACKAGEFRAGMENTROOT, JEM_TYPE, JEM_TYPE_PARAMETER, NO_ELEMENTS, NO_INFO, parent
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
ANNOTATION, CLASS_FILE, COMPILATION_UNIT, FIELD, IMPORT_CONTAINER, IMPORT_DECLARATION, INITIALIZER, JAVA_MODEL, JAVA_PROJECT, LOCAL_VARIABLE, METHOD, PACKAGE_DECLARATION, PACKAGE_FRAGMENT, PACKAGE_FRAGMENT_ROOT, TYPE, TYPE_PARAMETER
 
Constructor Summary
Annotation(JavaElement parent, java.lang.String name)
           
Annotation(JavaElement parent, java.lang.String name, java.lang.String memberValuePairName)
           
 
Method Summary
 boolean equals(java.lang.Object o)
          Returns true if this handle represents the same Java element as the given handle.
 IClassFile getClassFile()
           
 IMember getDeclaringMember()
           
 java.lang.String getElementName()
          Returns the name of this element.
 int getElementType()
          Returns this element's kind encoded as an integer.
protected  char getHandleMementoDelimiter()
          Returns the char that marks the start of this handles contribution to a memento.
 IMemberValuePair[] getMemberValuePairs()
          Returns the member-value pairs of this annotation.
 ISourceRange getNameRange()
          Returns the name range associated with this element.
 ISourceRange getSourceRange()
          Returns the source range associated with this element.
 int hashCode()
          Returns the hash code for this Java element.
protected  void toStringName(java.lang.StringBuffer buffer)
          Debugging purposes
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.SourceRefElement
closing, copy, createElementInfo, delete, findNode, generateInfos, getAnnotation, getAnnotations, getCompilationUnit, getCorrespondingResource, getHandleFromMemento, getHandleMemento, getHandleUpdatingCountFromMemento, getOccurrenceCount, getOpenableParent, getPath, getSource, getUnderlyingResource, hasChildren, isStructureKnown, move, rename, resource
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.JavaElement
close, escapeMementoName, exists, getAncestor, getAttachedJavadoc, getChildren, getChildrenOfType, getElementInfo, getElementInfo, getHandleFromMemento, getHandleIdentifier, getHandleMemento, getJavadocBaseLocation, getJavaModel, getJavaProject, getLibraryJavadocLocation, getOpenable, getParent, getPrimaryElement, getPrimaryElement, getResource, getSchedulingRule, getSourceElementAt, getSourceMapper, getURLContents, isAncestorOf, isReadOnly, newDoesNotExistStatus, newJavaModelException, newNotPresentException, openWhenClosed, readableName, resolved, tabString, toDebugString, toString, toString, toStringAncestors, toStringChildren, toStringInfo, toStringInfo, toStringWithAncestors, toStringWithAncestors, unresolved
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.IAnnotation
getOccurrenceCount
 
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.IJavaElement
exists, getAncestor, getAttachedJavadoc, getCorrespondingResource, getHandleIdentifier, getJavaModel, getJavaProject, getOpenable, getParent, getPath, getPrimaryElement, getResource, getSchedulingRule, getUnderlyingResource, isReadOnly, isStructureKnown
 
Methods inherited from interface org.aspectj.org.eclipse.jdt.core.ISourceReference
exists, getSource
 

Field Detail

NO_ANNOTATIONS

public static final IAnnotation[] NO_ANNOTATIONS

NO_MEMBER_VALUE_PAIRS

public static final IMemberValuePair[] NO_MEMBER_VALUE_PAIRS

name

protected java.lang.String name

memberValuePairName

protected java.lang.String memberValuePairName
Constructor Detail

Annotation

public Annotation(JavaElement parent,
                  java.lang.String name)

Annotation

public Annotation(JavaElement parent,
                  java.lang.String name,
                  java.lang.String memberValuePairName)
Method Detail

equals

public boolean equals(java.lang.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 java.lang.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(java.lang.StringBuffer buffer)
Description copied from class: JavaElement
Debugging purposes

Overrides:
toStringName in class SourceRefElement