org.apache.bcel.classfile

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

    - ### Fields inherited from class org.apache.bcel.classfile.Attribute

      `constant_pool, length, name_index, tag`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Annotations(byte annotationType, int nameIndex, int length, AnnotationEntry[] annotationTable, ConstantPool constantPool, boolean isRuntimeVisible)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `accept(Visitor v)` Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.
    `AnnotationEntry[]` | `getAnnotationEntries()` returns the array of annotation entries in this annotation
    `int` | `getNumAnnotations()`
    `boolean` | `isRuntimeVisible()`
    `void` | `setAnnotationTable(AnnotationEntry[] annotationTable)`
    `protected void` | `writeAnnotations(DataOutputStream dos)`

    - ### Methods inherited from class org.apache.bcel.classfile.Attribute

      `addAttributeReader, addAttributeReader, clone, copy, dump, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex, toString`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### Annotations

          public Annotations(byte annotationType,
                             int nameIndex,
                             int length,
                             AnnotationEntry[] annotationTable,
                             ConstantPool constantPool,
                             boolean isRuntimeVisible)

      Parameters:
        `annotationType` - the subclass type of the annotation
        `nameIndex` - Index pointing to the name Code
        `length` - Content length in bytes
        `annotationTable` - the actual annotations
        `constantPool` - Array of constants

  - ### Method Detail

    - #### 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[] annotationTable)

      Parameters:
        `annotationTable` - 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`

Copyright © 2004–2020 The Apache Software Foundation. All rights reserved.