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.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_element_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_element_value_pairs
in annotation
.java.io.IOException
public 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.IOException
public 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.IOException
public void constValueIndex(boolean value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(byte value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(char value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(short value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(int value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(long value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(float value) throws java.io.IOException
tag
and const_value_index
in element_value
.value
- the constant value.java.io.IOException
public void constValueIndex(double value) throws java.io.IOException
tag
and const_value_index
in element_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 element_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 element_value
.tag
- tag
in element_value
.index
- const_value_index
in element_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 element_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 element_value
.typeNameIndex
- type_name_index
in element_value
.constNameIndex
- const_name_index
in element_value
.java.io.IOException
public void classInfoIndex(java.lang.String name) throws java.io.IOException
tag
and class_info_index
in element_value
.name
- the class name.java.io.IOException
public void classInfoIndex(int index) throws java.io.IOException
tag
and class_info_index
in element_value
.index
- class_info_index
java.io.IOException
public 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.IOException
public 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.IOException
Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.