[Java] Class AnnotationNode

  • org.codehaus.groovy.ast.AnnotationNode

Represents an annotation which can be attached to interfaces, classes, methods and fields.

Authors:
James Strachan
Alex Popescu

Field Summary

Fields
Modifiers Name 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_TARGET

Constructor Summary

Constructors
Constructor and description
AnnotationNode (ClassNode classNode)

Methods Summary

Methods
Type Params Return Type Name and description
void addMember(String name, Expression value)
ClassNode getClassNode()
Expression getMember(String name)
Map<String, Expression> getMembers()
boolean hasClassRetention()
Flag corresponding to RetentionPolicy.CLASS.
boolean hasRuntimeRetention()
Flag corresponding to RetentionPolicy.
boolean hasSourceRetention()
Flag corresponding to RetentionPolicy.SOURCE.
boolean isBuiltIn()
boolean isTargetAllowed(int target)
void setAllowedTargets(int bitmap)
void setClassRetention(boolean flag)
Sets the internal flag if the current annotation has RetentionPolicy.CLASS.
void setMember(String name, Expression value)
void setRuntimeRetention(boolean flag)
Sets the internal flag of this annotation runtime retention policy.
void setSourceRetention(boolean flag)
Sets the internal flag if the current annotation has RetentionPolicy.SOURCE.
static String targetToName(int target)

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class ASTNode copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Field Detail

public static final int ANNOTATION_TARGET

public static final int CONSTRUCTOR_TARGET

public static final int FIELD_TARGET

public static final int LOCAL_VARIABLE_TARGET

public static final int METHOD_TARGET

public static final int PACKAGE_TARGET

public static final int PARAMETER_TARGET

public static final int TYPE_TARGET

Constructor Detail

public AnnotationNode(ClassNode classNode)

Method Detail

public void addMember(String name, Expression value)

public ClassNode getClassNode()

public Expression getMember(String name)

public Map<String, Expression> getMembers()

public boolean hasClassRetention()

Flag corresponding to RetentionPolicy.CLASS.

Returns:
true if the annotation is recorded by the compiler, but not visible at runtime * false otherwise

public boolean hasRuntimeRetention()

Flag corresponding to RetentionPolicy.

Returns:
true if the annotation should be visible at runtime, false otherwise

public boolean hasSourceRetention()

Flag corresponding to RetentionPolicy.SOURCE.

Returns:
true if the annotation is only allowed in sources false otherwise

public boolean isBuiltIn()

public boolean isTargetAllowed(int target)

public void setAllowedTargets(int bitmap)

public void setClassRetention(boolean flag)

Sets the internal flag if the current annotation has RetentionPolicy.CLASS.

public void setMember(String name, Expression value)

public void setRuntimeRetention(boolean flag)

Sets the internal flag of this annotation runtime retention policy. If the current annotation has RetentionPolicy.RUNTIME or if false if the RetentionPolicy.CLASS.

Parameters:
flag - if true then current annotation is marked as having RetentionPolicy.RUNTIME. If false then the annotation has RetentionPolicy.CLASS.

public void setSourceRetention(boolean flag)

Sets the internal flag if the current annotation has RetentionPolicy.SOURCE.

public static String targetToName(int target)

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/org/codehaus/groovy/ast/AnnotationNode.html