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 intANNOTATION_TARGETstatic intCONSTRUCTOR_TARGETstatic intFIELD_TARGETstatic intLOCAL_VARIABLE_TARGETstatic intMETHOD_TARGETstatic intPACKAGE_TARGETstatic intPARAMETER_TARGETstatic intTYPE_PARAMETER_TARGETstatic intTYPE_TARGETstatic intTYPE_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 voidaddMember(java.lang.String name, Expression value)ClassNodegetClassNode()ExpressiongetMember(java.lang.String name)java.util.Map<java.lang.String,Expression>getMembers()booleanhasClassRetention()Flag corresponding toRetentionPolicy.CLASS.booleanhasRuntimeRetention()Flag corresponding toRetentionPolicy.RUNTIME.booleanhasSourceRetention()Flag corresponding toRetentionPolicy.SOURCE.booleanisBuiltIn()booleanisTargetAllowed(int target)voidsetAllowedTargets(int bitmap)voidsetClassRetention(boolean flag)Sets the internal flag if the current annotation has an explicitRetentionPolicy.CLASS.voidsetMember(java.lang.String name, Expression value)voidsetRuntimeRetention(boolean flag)Sets the internal flag if the current annotation hasRetentionPolicy.SOURCE.voidsetSourceRetention(boolean flag)Sets the internal flag if the current annotation hasRetentionPolicy.SOURCE.static java.lang.StringtargetToName(int target)-
Methods inherited from class org.codehaus.groovy.ast.ASTNode
copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getNodeMetaData, getNodeMetaData, getText, 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 java.util.Map<java.lang.String,Expression> getMembers()
-
getMember
public Expression getMember(java.lang.String name)
-
addMember
public void addMember(java.lang.String name, Expression value)
-
setMember
public void setMember(java.lang.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 noRetentionPolicyannotations 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 java.lang.String targetToName(int target)
-
-