Package org.eclipse.jdt.core.dom
Class AnnotationTypeMemberDeclaration
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.BodyDeclaration
org.eclipse.jdt.core.dom.AnnotationTypeMemberDeclaration
Annotation type member declaration AST node type (added in JLS3 API).
AnnotationTypeMemberDeclaration: [ Javadoc ] { ExtendedModifier } Type Identifier ( ) [ default Expression ] ;
Note that annotation type member declarations are only meaningful as
elements of AbstractTypeDeclaration.bodyDeclarations()
.
When a Javadoc comment is present, the source range begins with the first character of the "/**" comment delimiter. When there is no Javadoc comment, the source range begins with the first character of the first modifier keyword (if modifiers), or the first character of the member type (no modifiers). The source range extends through the last character of the ";" token.
- Since:
- 3.1
- Restriction:
- This class is not intended to be instantiated by clients.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ChildPropertyDescriptor
The "default" structural property of this node type (child type:Expression
).static final ChildPropertyDescriptor
The "javadoc" structural property of this node type (child type:Javadoc
).static final ChildListPropertyDescriptor
The "modifiers" structural property of this node type (element type:IExtendedModifier
).static final ChildPropertyDescriptor
The "name" structural property of this node type (child type:SimpleName
).static final ChildPropertyDescriptor
The "type" structural property of this node type (child type:Type
).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, CASE_DEFAULT_EXPRESSION, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EitherOr_MultiPattern, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPORTS_DIRECTIVE, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, GUARDED_PATTERN, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, JAVADOC_REGION, JAVADOC_TEXT_ELEMENT, 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, MODULE_QUALIFIED_NAME, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NULL_PATTERN, NUMBER_LITERAL, OPENS_DIRECTIVE, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, PATTERN_INSTANCEOF_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, PROVIDES_DIRECTIVE, QUALIFIED_NAME, QUALIFIED_TYPE, RECORD_DECLARATION, RECORD_PATTERN, RECOVERED, REQUIRES_DIRECTIVE, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_FRAGMENT, STRING_LITERAL, STRING_TEMPLATE_COMPONENT, STRING_TEMPLATE_EXPRESSION, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_EXPRESSION, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TAG_PROPERTY, TEXT_BLOCK, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, TYPE_PATTERN, UNION_TYPE, UNNAMED_CLASS, USES_DIRECTIVE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE, YIELD_STATEMENT
-
Method Summary
Modifier and TypeMethodDescriptionReturns the default value of this annotation type member, ornull
if there is none.getName()
Returns the name of the annotation type member declared in this declaration.getType()
Returns the type of the annotation type member declared in this declaration.static List
propertyDescriptors
(int apiLevel) Returns a list of structural property descriptors for this node type.Resolves and returns the binding for the annotation type member declared in this declaration.void
setDefault
(Expression defaultValue) Sets or clears the default value of this annotation type member.void
setName
(SimpleName memberName) Sets the name of the annotation type member declared in this declaration to the given name.void
Sets the type of the annotation type member declared in this declaration to the given type.Methods inherited from class org.eclipse.jdt.core.dom.BodyDeclaration
getJavadoc, getJavadocProperty, getModifiers, getModifiersProperty, modifiers, setJavadoc, setModifiers
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
-
Field Details
-
JAVADOC_PROPERTY
The "javadoc" structural property of this node type (child type:Javadoc
). -
MODIFIERS2_PROPERTY
The "modifiers" structural property of this node type (element type:IExtendedModifier
). -
TYPE_PROPERTY
The "type" structural property of this node type (child type:Type
). -
NAME_PROPERTY
The "name" structural property of this node type (child type:SimpleName
). -
DEFAULT_PROPERTY
The "default" structural property of this node type (child type:Expression
).
-
-
Method Details
-
propertyDescriptors
Returns a list of structural property descriptors for this node type. Clients must not modify the result.- Parameters:
apiLevel
- the API level; one of theAST.JLS*
constants- Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor
)
-
getType
Returns the type of the annotation type member declared in this declaration.- Returns:
- the type of the member
-
setType
Sets the type of the annotation type member declared in this declaration to the given type.- Parameters:
type
- the new member type- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
-
getName
Returns the name of the annotation type member declared in this declaration.- Returns:
- the member name node
-
setName
Sets the name of the annotation type member declared in this declaration to the given name.- Parameters:
memberName
- the new member name- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
-
getDefault
Returns the default value of this annotation type member, ornull
if there is none.- Returns:
- the expression node, or
null
if there is none
-
setDefault
Sets or clears the default value of this annotation type member.- Parameters:
defaultValue
- the expression node, ornull
if there is none- Throws:
IllegalArgumentException
- if:- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
-
resolveBinding
Resolves and returns the binding for the annotation type member declared in this declaration.Note that bindings are generally unavailable unless requested when the AST is being built.
- Returns:
- the binding, or
null
if the binding cannot be resolved
-