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 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.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 String targetToName(int target)
    • toString

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

      public String getText()
      Overrides:
      getText in class ASTNode