javassist.bytecode.annotation
public class AnnotationsWriter extends Object
..Annotations_attribute.
See the source code of the AnnotationsAttribute.Copier class.
The following code snippet is an example of use of this class:
ConstPool pool = ...;
output = new ByteArrayOutputStream();
writer = new AnnotationsWriter(output, pool);
writer.numAnnotations(1);
writer.annotation("Author", 2);
writer.memberValuePair("name");
writer.constValueIndex("chiba");
writer.memberValuePair("address");
writer.constValueIndex("tokyo");
writer.close();
byte[] attribute_info = output.toByteArray();
AnnotationsAttribute anno
= new AnnotationsAttribute(pool, AnnotationsAttribute.visibleTag,
attribute_info);
The code snippet above generates the annotation attribute corresponding to this annotation:
@Author(name = "chiba", address = "tokyo")
See Also: AnnotationsAttribute ParameterAnnotationsAttribute
| Constructor Summary | |
|---|---|
| AnnotationsWriter(OutputStream os, ConstPool cp)
Constructs with the given output stream.
| |
| Method Summary | |
|---|---|
| void | annotation(String type, int numMemberValuePairs)
Writes annotation.
|
| void | annotation(int typeIndex, int numMemberValuePairs)
Writes annotation.
|
| void | annotationValue()
Writes tag and annotation_value
in member_value.
|
| void | arrayValue(int numValues)
Writes tag and array_value
in member_value.
|
| void | classInfoIndex(String name)
Writes tag and class_info_index
in member_value.
|
| void | classInfoIndex(int index)
Writes tag and class_info_index
in member_value.
|
| void | close()
Closes the output stream.
|
| void | constValueIndex(boolean value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(byte value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(char value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(short value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(int value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(long value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(float value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(double value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(String value)
Writes tag and const_value_index
in member_value.
|
| void | constValueIndex(int tag, int index)
Writes tag and const_value_index
in member_value.
|
| void | enumConstValue(String typeName, String constName)
Writes tag and enum_const_value
in member_value.
|
| void | enumConstValue(int typeNameIndex, int constNameIndex)
Writes tag and enum_const_value
in member_value.
|
| ConstPool | getConstPool()
Obtains the constant pool given to the constructor. |
| void | memberValuePair(String memberName)
Writes an element of a member_value_pairs array
in annotation.
|
| void | memberValuePair(int memberNameIndex)
Writes an element of a member_value_pairs array
in annotation.
|
| void | numAnnotations(int num)
Writes num_annotations in
Runtime(In)VisibleAnnotations_attribute.
|
| void | numParameters(int num)
Writes num_parameters in
Runtime(In)VisibleParameterAnnotations_attribute.
|
Parameters: os the output stream. cp the constant pool.
annotation.
This method must be followed by numMemberValuePairs
calls to memberValuePair().
Parameters: type the annotation interface name. numMemberValuePairs num_member_value_pairs
in annotation.
annotation.
This method must be followed by numMemberValuePairs
calls to memberValuePair().
Parameters: typeIndex type_index in annotation. numMemberValuePairs num_member_value_pairs
in annotation.
tag and annotation_value
in member_value.
This method must be followed by a call to annotation().tag and array_value
in member_value.
This method must be followed by numValues calls
to constValueIndex(), enumConstValue(),
etc.
Parameters: numValues num_values
in array_value.
tag and class_info_index
in member_value.
Parameters: name the class name.
tag and class_info_index
in member_value.
Parameters: index class_info_index
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: value the constant value.
tag and const_value_index
in member_value.
Parameters: tag tag in member_value. index const_value_index
in member_value.
tag and enum_const_value
in member_value.
Parameters: typeName the type name of the enum constant. constName the simple name of the enum constant.
tag and enum_const_value
in member_value.
Parameters: typeNameIndex type_name_index
in member_value. constNameIndex const_name_index
in member_value.
member_value_pairs array
in annotation.
This method must be followed by a
call to constValueIndex(), enumConstValue(),
etc.
Parameters: memberName the name of the annotation type member.
member_value_pairs array
in annotation.
This method must be followed by a
call to constValueIndex(), enumConstValue(),
etc.
Parameters: memberNameIndex member_name_index
in member_value_pairs array.
num_annotations in
Runtime(In)VisibleAnnotations_attribute.
This method must be followed by num calls to
annotation().num_parameters in
Runtime(In)VisibleParameterAnnotations_attribute.
This method must be followed by num calls to
numAnnotations().