Package: org.codehaus.groovy.ast

## [Java] Class AnnotationNode

- 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
    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` | `RECORD_COMPONENT_TARGET` |
    `static int` | `TYPE_PARAMETER_TARGET` |
    `static int` | `TYPE_TARGET` |
    `static int` | `TYPE_USE_TARGET` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `AnnotationNode(ClassNode classNode)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `addMember(String name, Expression value)`
    `` | `public ClassNode` | `getClassNode()`
    `` | `public Expression` | `getMember(String name)`
    `` | `public Map<String, Expression>` | `getMembers()`
    `` | `public String` | `getText()`
    `` | `public boolean` | `hasClassRetention()` Flag corresponding to `RetentionPolicy.CLASS`.
    `` | `public boolean` | `hasRuntimeRetention()` Flag corresponding to `RetentionPolicy.RUNTIME`.
    `` | `public boolean` | `hasSourceRetention()` Flag corresponding to `RetentionPolicy.SOURCE`.
    `` | `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 an explicit `RetentionPolicy.CLASS`.
    `` | `public void` | `setMember(String name, Expression value)`
    `` | `public void` | `setRuntimeRetention(boolean flag)` Sets the internal flag if the current annotation has `RetentionPolicy.SOURCE`.
    `` | `public void` | `setSourceRetention(boolean flag)` Sets the internal flag if the current annotation has `RetentionPolicy.SOURCE`.
    `` | `public static String` | `targetToName(int target)`
    `` | `public String` | `toString()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class ASTNode` | `copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getText, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setMetaDataMap, setSourcePosition, visit`

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

    - #### public static final int TYPE_PARAMETER_TARGET

    - #### public static final int TYPE_TARGET

    - #### public static final int TYPE_USE_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()

    - #### @Override
      public String getText()

    - #### public boolean hasClassRetention()

      Flag corresponding to `RetentionPolicy.CLASS`. This is the default when no `RetentionPolicy` annotations are present.

      Returns:
        `true` if the annotation is written in the bytecode, but not visible at runtime `false` otherwise

    - #### public boolean hasRuntimeRetention()

      Flag corresponding to `RetentionPolicy.RUNTIME`.

      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 an explicit `RetentionPolicy.CLASS`.

      Parameters:
        `flag` - if `true` then current annotation is marked as having `RetentionPolicy.CLASS`.

    - #### public void setMember(String name, Expression value)

    - #### public void setRuntimeRetention(boolean flag)

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

      Parameters:
        `flag` - if `true` then current annotation is marked as having `RetentionPolicy.RUNTIME`.

    - #### public void setSourceRetention(boolean flag)

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

      Parameters:
        `flag` - if `true` then current annotation is marked as having `RetentionPolicy.SOURCE`.

    - #### public static String targetToName(int target)

    - #### @Override
      public String toString()