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()
.