Package org.eclipse.jdt.core.dom
Class Annotation
- java.lang.Object
-
- org.eclipse.jdt.core.dom.ASTNode
-
- org.eclipse.jdt.core.dom.Expression
-
- org.eclipse.jdt.core.dom.Annotation
-
- All Implemented Interfaces:
IExtendedModifier
- Direct Known Subclasses:
MarkerAnnotation,NormalAnnotation,SingleMemberAnnotation
public abstract class Annotation extends Expression implements IExtendedModifier
Abstract base class of AST nodes that represent annotations.Annotation: NormalAnnotation MarkerAnnotation SingleMemberAnnotation- Since:
- 3.1
-
-
Field Summary
-
Fields inherited from class org.eclipse.jdt.core.dom.ASTNode
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, MODULE_DECLARATION, MODULE_MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description NamegetTypeName()Returns the annotation type name of this annotation.ChildPropertyDescriptorgetTypeNameProperty()Returns structural property descriptor for the "typeName" property of this node (child type:Name).booleanisAnnotation()Returns whether this extended modifier is an annotation.booleanisMarkerAnnotation()Returns whether this is a marker annotation (MarkerAnnotation).booleanisModifier()Returns whether this extended modifier is a standard modifier.booleanisNormalAnnotation()Returns whether this is a normal annotation (NormalAnnotation).booleanisSingleMemberAnnotation()Returns whether this is a single member annotationIAnnotationBindingresolveAnnotationBinding()Resolves and returns the resolved annotation for this annotation.voidsetTypeName(Name typeName)Sets the annotation type name of this annotation.-
Methods inherited from class org.eclipse.jdt.core.dom.Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
-
Methods inherited from class org.eclipse.jdt.core.dom.ASTNode
accept, copySubtree, copySubtrees, delete, equals, getAST, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
-
-
-
-
Method Detail
-
getTypeNameProperty
public final ChildPropertyDescriptor getTypeNameProperty()
Returns structural property descriptor for the "typeName" property of this node (child type:Name).- Returns:
- the property descriptor
-
isModifier
public boolean isModifier()
Description copied from interface:IExtendedModifierReturns whether this extended modifier is a standard modifier.- Specified by:
isModifierin interfaceIExtendedModifier- Returns:
trueif this is a standard modifier (instance ofModifier), andfalseotherwise- See Also:
IExtendedModifier.isModifier()
-
isAnnotation
public boolean isAnnotation()
Description copied from interface:IExtendedModifierReturns whether this extended modifier is an annotation.- Specified by:
isAnnotationin interfaceIExtendedModifier- Returns:
trueif this is an annotation (instance of a subclass ofAnnotation), andfalseotherwise- See Also:
IExtendedModifier.isAnnotation()
-
getTypeName
public Name getTypeName()
Returns the annotation type name of this annotation.- Returns:
- the annotation type name
-
setTypeName
public void setTypeName(Name typeName)
Sets the annotation type name of this annotation.- Parameters:
typeName- the annotation type name- Throws:
IllegalArgumentException- if:- the node belongs to a different AST
- the node already has a parent
-
isNormalAnnotation
public boolean isNormalAnnotation()
Returns whether this is a normal annotation (NormalAnnotation).- Returns:
trueif this is a normal annotation, andfalseotherwise
-
isMarkerAnnotation
public boolean isMarkerAnnotation()
Returns whether this is a marker annotation (MarkerAnnotation).- Returns:
trueif this is a marker annotation, andfalseotherwise
-
isSingleMemberAnnotation
public boolean isSingleMemberAnnotation()
Returns whether this is a single member annotation. (SingleMemberAnnotation).- Returns:
trueif this is a single member annotation, andfalseotherwise
-
resolveAnnotationBinding
public IAnnotationBinding resolveAnnotationBinding()
Resolves and returns the resolved annotation for this annotation.Note that bindings (which includes resolved annotations) are generally unavailable unless requested when the AST is being built.
- Returns:
- the resolved annotation, or
nullif the annotation cannot be resolved - Since:
- 3.2
-
-