Class Annotations
java.lang.Object
org.apache.bcel.classfile.Attribute
org.apache.bcel.classfile.Annotations
- All Implemented Interfaces:
Cloneable, Iterable<AnnotationEntry>, Node
- Direct Known Subclasses:
RuntimeInvisibleAnnotations, RuntimeVisibleAnnotations
base class for annotations
- Since:
- 6.0
-
Field Summary
Fields inherited from class Attribute
constant_pool, EMPTY_ARRAY, length, name_index, tag -
Constructor Summary
ConstructorsConstructorDescriptionAnnotations(byte annotationType, int nameIndex, int length, AnnotationEntry[] annotationTable, ConstantPool constantPool, boolean isRuntimeVisible) Constructs an instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidCalled by objects that are traversing the nodes of the tree implicitly defined by the contents of a Java class.copy(ConstantPool constantPool) Creates a deep copy of this attribute.Gets the array of annotation entries in this annotation.final intGets the number of annotation entries in this annotation.booleanGets whether this annotation is runtime visible.iterator()final voidsetAnnotationTable(AnnotationEntry[] annotationTable) Sets the entries to set in this annotation.final StringtoString()Converts to a String representation.protected voidWrites the annotations to a DataOutputStream.Methods inherited from class Attribute
addAttributeReader, addAttributeReader, clone, dump, getConstantPool, getLength, getName, getNameIndex, getTag, println, readAttribute, readAttribute, removeAttributeReader, setConstantPool, setLength, setNameIndexMethods inherited from class Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
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.
-
-
Method Details
-
accept
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
-
getAnnotationEntries
Gets the array of annotation entries in this annotation.- Returns:
- the array of annotation entries in this annotation.
-
getNumAnnotations
Gets the number of annotation entries in this annotation.- Returns:
- the number of annotation entries in this annotation.
-
isRuntimeVisible
Gets whether this annotation is runtime visible.- Returns:
- true if this annotation is runtime visible.
-
iterator
- Specified by:
iteratorin interfaceIterable<AnnotationEntry>
-
setAnnotationTable
Sets the entries to set in this annotation.- Parameters:
annotationTable- the entries to set in this annotation.
-
toString
-
writeAnnotations
Writes the annotations to a DataOutputStream.- Parameters:
dos- the data output stream.- Throws:
IOException- if an I/O error occurs.
-