|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavassist.bytecode.annotation.AnnotationsWriter
public class AnnotationsWriter
A convenience class for constructing a
..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")
AnnotationsAttribute
,
ParameterAnnotationsAttribute
Constructor Summary | |
---|---|
AnnotationsWriter(java.io.OutputStream os,
ConstPool cp)
Constructs with the given output stream. |
Method Summary | |
---|---|
void |
annotation(int typeIndex,
int numMemberValuePairs)
Writes annotation . |
void |
annotation(java.lang.String type,
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(int index)
Writes tag and class_info_index
in member_value . |
void |
classInfoIndex(java.lang.String name)
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(double 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(int 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 |
constValueIndex(long 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(java.lang.String value)
Writes tag and const_value_index
in member_value . |
void |
enumConstValue(int typeNameIndex,
int constNameIndex)
Writes tag and enum_const_value
in member_value . |
void |
enumConstValue(java.lang.String typeName,
java.lang.String constName)
Writes tag and enum_const_value
in member_value . |
ConstPool |
getConstPool()
Obtains the constant pool given to the constructor. |
void |
memberValuePair(int memberNameIndex)
Writes an element of a member_value_pairs array
in annotation . |
void |
memberValuePair(java.lang.String memberName)
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 . |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public AnnotationsWriter(java.io.OutputStream os, ConstPool cp)
os
- the output stream.cp
- the constant pool.Method Detail |
---|
public ConstPool getConstPool()
public void close() throws java.io.IOException
java.io.IOException
public void numParameters(int num) throws java.io.IOException
num_parameters
in
Runtime(In)VisibleParameterAnnotations_attribute
.
This method must be followed by num
calls to
numAnnotations()
.
java.io.IOException
public void numAnnotations(int num) throws java.io.IOException
num_annotations
in
Runtime(In)VisibleAnnotations_attribute
.
This method must be followed by num
calls to
annotation()
.
java.io.IOException
public void annotation(java.lang.String type, int numMemberValuePairs) throws java.io.IOException
annotation
.
This method must be followed by numMemberValuePairs
calls to memberValuePair()
.
type
- the annotation interface name.numMemberValuePairs
- num_member_value_pairs
in annotation
.
java.io.IOException
public void annotation(int typeIndex, int numMemberValuePairs) throws java.io.IOException
annotation
.
This method must be followed by numMemberValuePairs
calls to memberValuePair()
.
typeIndex
- type_index
in annotation
.numMemberValuePairs
- num_member_value_pairs
in annotation
.
java.io.IOException
public void memberValuePair(java.lang.String memberName) throws java.io.IOException
member_value_pairs
array
in annotation
.
This method must be followed by a
call to constValueIndex()
, enumConstValue()
,
etc.
memberName
- the name of the annotation type member.
java.io.IOException
public void memberValuePair(int memberNameIndex) throws java.io.IOException
member_value_pairs
array
in annotation
.
This method must be followed by a
call to constValueIndex()
, enumConstValue()
,
etc.
memberNameIndex
- member_name_index
in member_value_pairs
array.
java.io.IOException
public void constValueIndex(boolean value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(byte value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(char value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(short value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(int value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(long value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(float value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(double value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(java.lang.String value) throws java.io.IOException
tag
and const_value_index
in member_value
.
value
- the constant value.
java.io.IOException
public void constValueIndex(int tag, int index) throws java.io.IOException
tag
and const_value_index
in member_value
.
tag
- tag
in member_value
.index
- const_value_index
in member_value
.
java.io.IOException
public void enumConstValue(java.lang.String typeName, java.lang.String constName) throws java.io.IOException
tag
and enum_const_value
in member_value
.
typeName
- the type name of the enum constant.constName
- the simple name of the enum constant.
java.io.IOException
public void enumConstValue(int typeNameIndex, int constNameIndex) throws java.io.IOException
tag
and enum_const_value
in member_value
.
typeNameIndex
- type_name_index
in member_value
.constNameIndex
- const_name_index
in member_value
.
java.io.IOException
public void classInfoIndex(java.lang.String name) throws java.io.IOException
tag
and class_info_index
in member_value
.
name
- the class name.
java.io.IOException
public void classInfoIndex(int index) throws java.io.IOException
tag
and class_info_index
in member_value
.
index
- class_info_index
java.io.IOException
public void annotationValue() throws java.io.IOException
tag
and annotation_value
in member_value
.
This method must be followed by a call to annotation()
.
java.io.IOException
public void arrayValue(int numValues) throws java.io.IOException
tag
and array_value
in member_value
.
This method must be followed by numValues
calls
to constValueIndex()
, enumConstValue()
,
etc.
numValues
- num_values
in array_value
.
java.io.IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |