Package org.codehaus.groovy.ast
Class AnnotationNode
- java.lang.Object
-
- org.codehaus.groovy.ast.ASTNode
-
- org.codehaus.groovy.ast.AnnotationNode
-
public class AnnotationNode extends ASTNode
Represents an annotation which can be attached to interfaces, classes, methods, fields, parameters, and other places.
-
-
Field Summary
Fields Modifier and Type Field Description static int
ANNOTATION_TARGET
static int
CONSTRUCTOR_TARGET
static int
FIELD_TARGET
static int
LOCAL_VARIABLE_TARGET
static int
METHOD_TARGET
static int
PACKAGE_TARGET
static int
PARAMETER_TARGET
static int
TYPE_PARAMETER_TARGET
static int
TYPE_TARGET
static int
TYPE_USE_TARGET
-
Constructor Summary
Constructors Constructor Description AnnotationNode(ClassNode classNode)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMember(String name, Expression value)
ClassNode
getClassNode()
Expression
getMember(String name)
Map<String,Expression>
getMembers()
boolean
hasClassRetention()
Flag corresponding toRetentionPolicy.CLASS
.boolean
hasRuntimeRetention()
Flag corresponding toRetentionPolicy.RUNTIME
.boolean
hasSourceRetention()
Flag corresponding toRetentionPolicy.SOURCE
.boolean
isBuiltIn()
boolean
isTargetAllowed(int target)
void
setAllowedTargets(int bitmap)
void
setClassRetention(boolean flag)
Sets the internal flag if the current annotation has an explicitRetentionPolicy.CLASS
.void
setMember(String name, Expression value)
void
setRuntimeRetention(boolean flag)
Sets the internal flag if the current annotation hasRetentionPolicy.SOURCE
.void
setSourceRetention(boolean flag)
Sets the internal flag if the current annotation hasRetentionPolicy.SOURCE
.static String
targetToName(int target)
-
Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, equals, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getNodeMetaData, getNodeMetaData, getText, hashCode, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit
-
-
-
-
Field Detail
-
CONSTRUCTOR_TARGET
public static final int CONSTRUCTOR_TARGET
- See Also:
- Constant Field Values
-
METHOD_TARGET
public static final int METHOD_TARGET
- See Also:
- Constant Field Values
-
FIELD_TARGET
public static final int FIELD_TARGET
- See Also:
- Constant Field Values
-
PARAMETER_TARGET
public static final int PARAMETER_TARGET
- See Also:
- Constant Field Values
-
LOCAL_VARIABLE_TARGET
public static final int LOCAL_VARIABLE_TARGET
- See Also:
- Constant Field Values
-
ANNOTATION_TARGET
public static final int ANNOTATION_TARGET
- See Also:
- Constant Field Values
-
PACKAGE_TARGET
public static final int PACKAGE_TARGET
- See Also:
- Constant Field Values
-
TYPE_PARAMETER_TARGET
public static final int TYPE_PARAMETER_TARGET
- See Also:
- Constant Field Values
-
TYPE_USE_TARGET
public static final int TYPE_USE_TARGET
- See Also:
- Constant Field Values
-
TYPE_TARGET
public static final int TYPE_TARGET
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
AnnotationNode
public AnnotationNode(ClassNode classNode)
-
-
Method Detail
-
getClassNode
public ClassNode getClassNode()
-
getMembers
public Map<String,Expression> getMembers()
-
getMember
public Expression getMember(String name)
-
addMember
public void addMember(String name, Expression value)
-
setMember
public void setMember(String name, Expression value)
-
isBuiltIn
public boolean isBuiltIn()
-
hasRuntimeRetention
public boolean hasRuntimeRetention()
Flag corresponding toRetentionPolicy.RUNTIME
.- Returns:
- true if the annotation should be visible at runtime, false otherwise
-
setRuntimeRetention
public void setRuntimeRetention(boolean flag)
Sets the internal flag if the current annotation hasRetentionPolicy.SOURCE
.- Parameters:
flag
- if true then current annotation is marked as havingRetentionPolicy.RUNTIME
.
-
hasSourceRetention
public boolean hasSourceRetention()
Flag corresponding toRetentionPolicy.SOURCE
.- Returns:
- true if the annotation is only allowed in sources false otherwise
-
setSourceRetention
public void setSourceRetention(boolean flag)
Sets the internal flag if the current annotation hasRetentionPolicy.SOURCE
.- Parameters:
flag
- if true then current annotation is marked as havingRetentionPolicy.SOURCE
.
-
hasClassRetention
public boolean hasClassRetention()
Flag corresponding toRetentionPolicy.CLASS
. This is the default when noRetentionPolicy
annotations are present.- Returns:
- true if the annotation is written in the bytecode, but not visible at runtime false otherwise
-
setClassRetention
public void setClassRetention(boolean flag)
Sets the internal flag if the current annotation has an explicitRetentionPolicy.CLASS
.- Parameters:
flag
- if true then current annotation is marked as havingRetentionPolicy.CLASS
.
-
setAllowedTargets
public void setAllowedTargets(int bitmap)
-
isTargetAllowed
public boolean isTargetAllowed(int target)
-
targetToName
public static String targetToName(int target)
-
-