## 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 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.