Class AnnotationNode

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotationNode
All Implemented Interfaces:
NodeMetaDataHandler

public class AnnotationNode
extends ASTNode
Represents an annotation which can be attached to interfaces, classes, methods, fields, parameters, and other places.
  • Field Details

  • Constructor Details

    • AnnotationNode

      public AnnotationNode​(ClassNode classNode)
  • Method Details

    • getClassNode

      public ClassNode getClassNode()
    • getMembers

      public java.util.Map<java.lang.String,​Expression> getMembers()
    • getMember

      public Expression getMember​(java.lang.String name)
    • addMember

      public void addMember​(java.lang.String name, Expression value)
    • setMember

      public void setMember​(java.lang.String name, Expression value)
    • isBuiltIn

      public boolean isBuiltIn()
    • hasRuntimeRetention

      public boolean hasRuntimeRetention()
      Flag corresponding to RetentionPolicy.RUNTIME.
      Returns:
      true if the annotation should be visible at runtime, false otherwise
    • setRuntimeRetention

      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.
    • 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.
      Parameters:
      flag - if true then current annotation is marked as having RetentionPolicy.SOURCE.
    • hasClassRetention

      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
    • setClassRetention

      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.
    • setAllowedTargets

      public void setAllowedTargets​(int bitmap)
    • isTargetAllowed

      public boolean isTargetAllowed​(int target)
    • targetToName

      public static java.lang.String targetToName​(int target)
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • getText

      public java.lang.String getText()
      Overrides:
      getText in class ASTNode