Package org.apache.bcel.classfile
Class Annotations
- java.lang.Object
-
- org.apache.bcel.classfile.Attribute
-
- org.apache.bcel.classfile.Annotations
-
- All Implemented Interfaces:
java.lang.Cloneable,java.lang.Iterable<AnnotationEntry>,Node
- Direct Known Subclasses:
RuntimeInvisibleAnnotations,RuntimeVisibleAnnotations
public abstract class Annotations extends Attribute implements java.lang.Iterable<AnnotationEntry>
base class for annotations- Since:
- 6.0
-
-
Field Summary
Fields Modifier and Type Field Description private AnnotationEntry[]annotationTableprivate booleanisRuntimeVisible-
Fields inherited from class org.apache.bcel.classfile.Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag
-
-
Constructor Summary
Constructors Constructor Description Annotations(byte annotationType, int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool, boolean isRuntimeVisible)Constructs an instance.Annotations(byte annotationType, int nameIndex, int length, AnnotationEntry[] annotationTable, ConstantPool constantPool, boolean isRuntimeVisible)Constructs an instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor v)Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.Attributecopy(ConstantPool constantPool)Creates a deep copy of this attribute.AnnotationEntry[]getAnnotationEntries()Gets the array of annotation entries in this annotation.intgetNumAnnotations()Gets the number of annotation entries in this annotation.booleanisRuntimeVisible()Gets whether this annotation is runtime visible.java.util.Iterator<AnnotationEntry>iterator()voidsetAnnotationTable(AnnotationEntry[] annotationTable)Sets the entries to set in this annotation.java.lang.StringtoString()Converts to a String representation.protected voidwriteAnnotations(java.io.DataOutputStream dos)Writes the annotations to a DataOutputStream.-
Methods inherited from class org.apache.bcel.classfile.Attribute
addAttributeReader, addAttributeReader, clone, dump, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndex
-
-
-
-
Field Detail
-
annotationTable
private AnnotationEntry[] annotationTable
-
isRuntimeVisible
private final boolean isRuntimeVisible
-
-
Constructor Detail
-
Annotations
public Annotations(byte annotationType, int nameIndex, int length, AnnotationEntry[] annotationTable, ConstantPool constantPool, boolean isRuntimeVisible)Constructs an instance.- 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.isRuntimeVisible- whether this Annotation visible at runtime.
-
Annotations
Annotations(byte annotationType, int nameIndex, int length, java.io.DataInput input, ConstantPool constantPool, boolean isRuntimeVisible) throws java.io.IOExceptionConstructs an instance.- Parameters:
annotationType- the subclass type of the annotation.nameIndex- Index pointing to the name Code.length- Content length in bytes.input- Input stream.constantPool- Array of constants.isRuntimeVisible- whether this Annotation visible at runtime.- Throws:
java.io.IOException- if an I/O error occurs.
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
copy
public Attribute copy(ConstantPool constantPool)
Description copied from class:AttributeCreates a deep copy of this attribute.
-
getAnnotationEntries
public AnnotationEntry[] getAnnotationEntries()
Gets the array of annotation entries in this annotation.- Returns:
- the array of annotation entries in this annotation.
-
getNumAnnotations
public final int getNumAnnotations()
Gets the number of annotation entries in this annotation.- Returns:
- the number of annotation entries in this annotation.
-
isRuntimeVisible
public boolean isRuntimeVisible()
Gets whether this annotation is runtime visible.- Returns:
- true if this annotation is runtime visible.
-
iterator
public java.util.Iterator<AnnotationEntry> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<AnnotationEntry>
-
setAnnotationTable
public final void setAnnotationTable(AnnotationEntry[] annotationTable)
Sets the entries to set in this annotation.- Parameters:
annotationTable- the entries to set in this annotation.
-
toString
public final java.lang.String toString()
Converts to a String representation.
-
writeAnnotations
protected void writeAnnotations(java.io.DataOutputStream dos) throws java.io.IOExceptionWrites the annotations to a DataOutputStream.- Parameters:
dos- the data output stream.- Throws:
java.io.IOException- if an I/O error occurs.
-
-