public class AnnotationsWriter
extends java.lang.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"); // element_value_pair
writer.constValueIndex("chiba");
writer.memberValuePair("address"); // element_value_pair
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")
| Constructor and Description |
|---|
AnnotationsWriter(java.io.OutputStream os,
ConstPool cp)
Constructs with the given output stream.
|
| Modifier and Type | Method and Description |
|---|---|
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 element_value. |
void |
arrayValue(int numValues)
Writes
tag and array_value
in element_value. |
void |
classInfoIndex(int index)
Writes
tag and class_info_index
in element_value. |
void |
classInfoIndex(java.lang.String name)
Writes
tag and class_info_index
in element_value. |
void |
close()
Closes the output stream.
|
void |
constValueIndex(boolean value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(byte value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(char value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(double value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(float value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(int value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(int tag,
int index)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(long value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(short value)
Writes
tag and const_value_index
in element_value. |
void |
constValueIndex(java.lang.String value)
Writes
tag and const_value_index
in element_value. |
void |
enumConstValue(int typeNameIndex,
int constNameIndex)
Writes
tag and enum_const_value
in element_value. |
void |
enumConstValue(java.lang.String typeName,
java.lang.String constName)
Writes
tag and enum_const_value
in element_value. |
ConstPool |
getConstPool()
Obtains the constant pool given to the constructor.
|
void |
memberValuePair(int memberNameIndex)
Writes an element of a
element_value_pairs array
in annotation. |
void |
memberValuePair(java.lang.String memberName)
Writes an element of a
element_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. |
public AnnotationsWriter(java.io.OutputStream os,
ConstPool cp)
os - the output stream.cp - the constant pool.public ConstPool getConstPool()
public void close()
throws java.io.IOException
java.io.IOExceptionpublic 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.IOExceptionpublic 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.IOExceptionpublic 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_element_value_pairs
in annotation.java.io.IOExceptionpublic 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_element_value_pairs
in annotation.java.io.IOExceptionpublic void memberValuePair(java.lang.String memberName)
throws java.io.IOException
element_value_pairs array
in annotation.
This method must be followed by a
call to constValueIndex(), enumConstValue(),
etc.memberName - the element name.java.io.IOExceptionpublic void memberValuePair(int memberNameIndex)
throws java.io.IOException
element_value_pairs array
in annotation.
This method must be followed by a
call to constValueIndex(), enumConstValue(),
etc.memberNameIndex - element_name_index
in element_value_pairs array.java.io.IOExceptionpublic void constValueIndex(boolean value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(byte value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(char value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(short value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(int value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(long value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(float value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(double value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(java.lang.String value)
throws java.io.IOException
tag and const_value_index
in element_value.value - the constant value.java.io.IOExceptionpublic void constValueIndex(int tag,
int index)
throws java.io.IOException
tag and const_value_index
in element_value.tag - tag in element_value.index - const_value_index
in element_value.java.io.IOExceptionpublic void enumConstValue(java.lang.String typeName,
java.lang.String constName)
throws java.io.IOException
tag and enum_const_value
in element_value.typeName - the type name of the enum constant.constName - the simple name of the enum constant.java.io.IOExceptionpublic void enumConstValue(int typeNameIndex,
int constNameIndex)
throws java.io.IOException
tag and enum_const_value
in element_value.typeNameIndex - type_name_index
in element_value.constNameIndex - const_name_index
in element_value.java.io.IOExceptionpublic void classInfoIndex(java.lang.String name)
throws java.io.IOException
tag and class_info_index
in element_value.name - the class name.java.io.IOExceptionpublic void classInfoIndex(int index)
throws java.io.IOException
tag and class_info_index
in element_value.index - class_info_indexjava.io.IOExceptionpublic void annotationValue()
throws java.io.IOException
tag and annotation_value
in element_value.
This method must be followed by a call to annotation().java.io.IOExceptionpublic void arrayValue(int numValues)
throws java.io.IOException
tag and array_value
in element_value.
This method must be followed by numValues calls
to constValueIndex(), enumConstValue(),
etc.numValues - num_values
in array_value.java.io.IOExceptionJavassist, a Java-bytecode translator toolkit.
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.