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 Name
getTypeName()
Returns the annotation type name of this annotation.ChildPropertyDescriptor
getTypeNameProperty()
Returns structural property descriptor for the "typeName" property of this node (child type:Name
).boolean
isAnnotation()
Returns whether this extended modifier is an annotation.boolean
isMarkerAnnotation()
Returns whether this is a marker annotation (MarkerAnnotation
).boolean
isModifier()
Returns whether this extended modifier is a standard modifier.boolean
isNormalAnnotation()
Returns whether this is a normal annotation (NormalAnnotation
).boolean
isSingleMemberAnnotation()
Returns whether this is a single member annotationIAnnotationBinding
resolveAnnotationBinding()
Resolves and returns the resolved annotation for this annotation.void
setTypeName(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:IExtendedModifier
Returns whether this extended modifier is a standard modifier.- Specified by:
isModifier
in interfaceIExtendedModifier
- Returns:
true
if this is a standard modifier (instance ofModifier
), andfalse
otherwise- See Also:
IExtendedModifier.isModifier()
-
isAnnotation
public boolean isAnnotation()
Description copied from interface:IExtendedModifier
Returns whether this extended modifier is an annotation.- Specified by:
isAnnotation
in interfaceIExtendedModifier
- Returns:
true
if this is an annotation (instance of a subclass ofAnnotation
), andfalse
otherwise- 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:
true
if this is a normal annotation, andfalse
otherwise
-
isMarkerAnnotation
public boolean isMarkerAnnotation()
Returns whether this is a marker annotation (MarkerAnnotation
).- Returns:
true
if this is a marker annotation, andfalse
otherwise
-
isSingleMemberAnnotation
public boolean isSingleMemberAnnotation()
Returns whether this is a single member annotation. (SingleMemberAnnotation
).- Returns:
true
if this is a single member annotation, andfalse
otherwise
-
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
null
if the annotation cannot be resolved - Since:
- 3.2
-
-