Class Annotations

java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.Annotations
All Implemented Interfaces:
Cloneable, Node
Direct Known Subclasses:
RuntimeInvisibleAnnotations, RuntimeVisibleAnnotations

public abstract class Annotations extends Attribute
base class for annotations
Since:
6.0
  • Field Details

    • annotation_table

      private AnnotationEntry[] annotation_table
    • isRuntimeVisible

      private final boolean isRuntimeVisible
  • Constructor Details

    • Annotations

      Annotations(byte annotation_type, int name_index, int length, DataInput input, ConstantPool constant_pool, boolean isRuntimeVisible) throws IOException
      Parameters:
      annotation_type - the subclass type of the annotation
      name_index - Index pointing to the name Code
      length - Content length in bytes
      input - Input stream
      constant_pool - Array of constants
      Throws:
      IOException
    • Annotations

      public Annotations(byte annotation_type, int name_index, int length, AnnotationEntry[] annotation_table, ConstantPool constant_pool, boolean isRuntimeVisible)
      Parameters:
      annotation_type - the subclass type of the annotation
      name_index - Index pointing to the name Code
      length - Content length in bytes
      annotation_table - the actual annotations
      constant_pool - Array of constants
  • Method Details

    • accept

      public void accept(Visitor v)
      Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
      Specified by:
      accept in interface Node
      Specified by:
      accept in class Attribute
      Parameters:
      v - Visitor object
    • setAnnotationTable

      public final void setAnnotationTable(AnnotationEntry[] annotation_table)
      Parameters:
      annotation_table - the entries to set in this annotation
    • getAnnotationEntries

      public AnnotationEntry[] getAnnotationEntries()
      returns the array of annotation entries in this annotation
    • getNumAnnotations

      public final int getNumAnnotations()
      Returns:
      the number of annotation entries in this annotation
    • isRuntimeVisible

      public boolean isRuntimeVisible()
    • writeAnnotations

      protected void writeAnnotations(DataOutputStream dos) throws IOException
      Throws:
      IOException