Package org.apache.bcel.generic
Class AnnotationEntryGen
java.lang.Object
org.apache.bcel.generic.AnnotationEntryGen
- Since:
- 6.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ConstantPoolGen
(package private) static final AnnotationEntryGen[]
private List
<ElementValuePairGen> private boolean
private int
-
Constructor Summary
ConstructorsModifierConstructorDescriptionAnnotationEntryGen
(AnnotationEntry a, ConstantPoolGen cpool, boolean copyPoolEntries) Here we are taking a fixed annotation of type Annotation and building a modifiable AnnotationGen object.private
AnnotationEntryGen
(ObjectType type, List<ElementValuePairGen> elements, boolean vis, ConstantPoolGen cpool) -
Method Summary
Modifier and TypeMethodDescriptionvoid
private List
<ElementValuePairGen> copyValues
(ElementValuePair[] in, ConstantPoolGen cpool, boolean copyPoolEntries) void
dump
(DataOutputStream dos) Retrieve an immutable version of this AnnotationGen(package private) static Attribute[]
getAnnotationAttributes
(ConstantPoolGen cp, AnnotationEntryGen[] annotationEntryGens) Converts a list of AnnotationGen objects into a set of attributes that can be attached to the class file.(package private) static Attribute[]
Annotations against a class are stored in one of four attribute kinds: - RuntimeVisibleParameterAnnotations - RuntimeInvisibleParameterAnnotationsint
final String
final String
Returns list of ElementNameValuePair objects.boolean
private void
isRuntimeVisible
(boolean b) static AnnotationEntryGen
read
(DataInput dis, ConstantPoolGen cpool, boolean b) toString()
-
Field Details
-
EMPTY_ARRAY
-
typeIndex
private int typeIndex -
evs
-
cpool
-
isRuntimeVisible
private boolean isRuntimeVisible
-
-
Constructor Details
-
AnnotationEntryGen
Here we are taking a fixed annotation of type Annotation and building a modifiable AnnotationGen object. If the pool passed in is for a different class file, then copyPoolEntries should have been passed as true as that will force us to do a deep copy of the annotation and move the cpool entries across. We need to copy the type and the element name value pairs and the visibility. -
AnnotationEntryGen
-
AnnotationEntryGen
public AnnotationEntryGen(ObjectType type, List<ElementValuePairGen> elements, boolean vis, ConstantPoolGen cpool)
-
-
Method Details
-
getAnnotationAttributes
static Attribute[] getAnnotationAttributes(ConstantPoolGen cp, AnnotationEntryGen[] annotationEntryGens) Converts a list of AnnotationGen objects into a set of attributes that can be attached to the class file.- Parameters:
cp
- The constant pool gen where we can create the necessary name refsannotationEntryGens
- An array of AnnotationGen objects
-
getParameterAnnotationAttributes
static Attribute[] getParameterAnnotationAttributes(ConstantPoolGen cp, List<AnnotationEntryGen>[] vec) Annotations against a class are stored in one of four attribute kinds: - RuntimeVisibleParameterAnnotations - RuntimeInvisibleParameterAnnotations -
read
public static AnnotationEntryGen read(DataInput dis, ConstantPoolGen cpool, boolean b) throws IOException - Throws:
IOException
-
addElementNameValuePair
-
copyValues
private List<ElementValuePairGen> copyValues(ElementValuePair[] in, ConstantPoolGen cpool, boolean copyPoolEntries) -
dump
- Throws:
IOException
-
getAnnotation
Retrieve an immutable version of this AnnotationGen -
getTypeIndex
public int getTypeIndex() -
getTypeName
-
getTypeSignature
-
getValues
Returns list of ElementNameValuePair objects.- Returns:
- list of ElementNameValuePair objects.
-
isRuntimeVisible
public boolean isRuntimeVisible() -
isRuntimeVisible
private void isRuntimeVisible(boolean b) -
toShortString
-
toString
-