org.codehaus.groovy.ast
Class AnnotationNode

java.lang.Object
  extended by org.codehaus.groovy.ast.ASTNode
      extended by org.codehaus.groovy.ast.AnnotationNode

public class AnnotationNode
extends ASTNode

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

Version:
$Revision: 16963 $
Author:
James Strachan, Alex Popescu

Field Summary
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
AnnotationNode(ClassNode classNode)
           
 
Method Summary
 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)
           
 
Methods inherited from class org.codehaus.groovy.ast.ASTNode
getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setSourcePosition, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_TARGET

public static final int TYPE_TARGET
See Also:
Constant Field Values

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
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 to RetentionPolicy.

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

setRuntimeRetention

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.

hasSourceRetention

public boolean hasSourceRetention()
Flag corresponding to RetentionPolicy.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 has RetentionPolicy.SOURCE.


hasClassRetention

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

setClassRetention

public void setClassRetention(boolean flag)
Sets the internal flag if the current annotation has RetentionPolicy.CLASS.


setAllowedTargets

public void setAllowedTargets(int bitmap)

isTargetAllowed

public boolean isTargetAllowed(int target)

targetToName

public static String targetToName(int target)

Copyright © 2003-2009 The Codehaus. All rights reserved.