## org.codehaus.groovy.ast
Class AnnotationNode

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

author:
  James Strachan

author:
  Alex Popescu

version:
  $Revision: 7922 $

Field Summary
`int` | `ALL_TARGETS`
`int` | `ANNOTATION_TARGET`
`int` | `CONSTRUCTOR_TARGET`
`int` | `FIELD_TARGET`
`int` | `LOCAL_VARIABLE_TARGET`
`int` | `METHOD_TARGET`
`int` | `PARAMETER_TARGET`
`int` | `TYPE_TARGET`
`int` | `allowedTargets`
`ClassNode` | `classNode`
`Map` | `members`
`boolean` | `runtimeRetention`
`boolean` | `sourceRetention`
`boolean` | `valid`

Constructor Summary
`AnnotationNode(ClassNode classNode)`

Method Summary
`void` | `addMember(String name, Expression value)`
`ClassNode` | `getClassNode()`
`Expression` | `getMember(String name)`
`Map` | `getMembers()`
`boolean` | `hasRuntimeRetention()` Flag corresponding to `RetentionPolicy`.
`boolean` | `hasSourceRetention()` Flag corresponding to `RetentionPolicy.SOURCE`.
`boolean` | `isBuiltIn()`
`boolean` | `isTargetAllowed(int target)`
`boolean` | `isValid()` Returns the state of this annotation (verified and all verification passed).
`void` | `setAllowedTargets(int bitmap)`
`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`.
`void` | `setValid(boolean flag)` Set if the current annotation is verified and passed all validations
`static String` | `targetToName(int target)`

Constructor Detail

### AnnotationNode

    public AnnotationNode(ClassNode classNode)

Method Detail

### addMember

    public void addMember(String name, Expression value)

### getClassNode

    public ClassNode getClassNode()

### getMember

    public Expression getMember(String name)

### getMembers

    public Map getMembers()

### hasRuntimeRetention

    public boolean hasRuntimeRetention()

  Flag corresponding to `RetentionPolicy`.
  return:
    `true` if the annotation should be visible at runtime,
  `false` otherwise

### hasSourceRetention

    public boolean hasSourceRetention()

  Flag corresponding to `RetentionPolicy.SOURCE`.
  return:
    `true` if the annotation is only allowed in sources
  `false` otherwise

### isBuiltIn

    public boolean isBuiltIn()

### isTargetAllowed

    public boolean isTargetAllowed(int target)

### isValid

    public boolean isValid()

  Returns the state of this annotation (verified and all verification passed).

### setAllowedTargets

    public void setAllowedTargets(int bitmap)

### setMember

    public void setMember(String name, Expression value)

### 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`.
  param:
    flag if `true` then current annotation is marked as having
  `RetentionPolicy.RUNTIME`. If `false` then the annotation has `RetentionPolicy.CLASS`.

### setSourceRetention

    public void setSourceRetention(boolean flag)

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

### setValid

    public void setValid(boolean flag)

  Set if the current annotation is verified and passed all validations
  param:
    flag

### targetToName

    public static String targetToName(int target)