javassist.bytecode.annotation
Class AnnotationsWriter

java.lang.Object
  extended by javassist.bytecode.annotation.AnnotationsWriter

public class AnnotationsWriter
extends java.lang.Object

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:

The code snippet above generates the annotation attribute corresponding to this annotation:

See Also:
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

AnnotationsWriter

public AnnotationsWriter(java.io.OutputStream os,
                         ConstPool cp)
Constructs with the given output stream.

Parameters:
os - the output stream.
cp - the constant pool.
Method Detail

getConstPool

public ConstPool getConstPool()
Obtains the constant pool given to the constructor.


close

public void close()
           throws java.io.IOException
Closes the output stream.

Throws:
java.io.IOException

numParameters

public void numParameters(int num)
                   throws java.io.IOException
Writes num_parameters in Runtime(In)VisibleParameterAnnotations_attribute. This method must be followed by num calls to numAnnotations().

Throws:
java.io.IOException

numAnnotations

public void numAnnotations(int num)
                    throws java.io.IOException
Writes num_annotations in Runtime(In)VisibleAnnotations_attribute. This method must be followed by num calls to annotation().

Throws:
java.io.IOException

annotation

public void annotation(java.lang.String type,
                       int numMemberValuePairs)
                throws java.io.IOException
Writes annotation. This method must be followed by numMemberValuePairs calls to memberValuePair().

Parameters:
type - the annotation interface name.
numMemberValuePairs - num_member_value_pairs in annotation.
Throws:
java.io.IOException

annotation

public void annotation(int typeIndex,
                       int numMemberValuePairs)
                throws java.io.IOException
Writes annotation. This method must be followed by numMemberValuePairs calls to memberValuePair().

Parameters:
typeIndex - type_index in annotation.
numMemberValuePairs - num_member_value_pairs in annotation.
Throws:
java.io.IOException

memberValuePair

public void memberValuePair(java.lang.String memberName)
                     throws java.io.IOException
Writes an element of a 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.
Throws:
java.io.IOException

memberValuePair

public void memberValuePair(int memberNameIndex)
                     throws java.io.IOException
Writes an element of a 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.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(boolean value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(byte value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(char value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(short value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(int value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(long value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(float value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(double value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(java.lang.String value)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
value - the constant value.
Throws:
java.io.IOException

constValueIndex

public void constValueIndex(int tag,
                            int index)
                     throws java.io.IOException
Writes tag and const_value_index in member_value.

Parameters:
tag - tag in member_value.
index - const_value_index in member_value.
Throws:
java.io.IOException

enumConstValue

public void enumConstValue(java.lang.String typeName,
                           java.lang.String constName)
                    throws java.io.IOException
Writes 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.
Throws:
java.io.IOException

enumConstValue

public void enumConstValue(int typeNameIndex,
                           int constNameIndex)
                    throws java.io.IOException
Writes tag and enum_const_value in member_value.

Parameters:
typeNameIndex - type_name_index in member_value.
constNameIndex - const_name_index in member_value.
Throws:
java.io.IOException

classInfoIndex

public void classInfoIndex(java.lang.String name)
                    throws java.io.IOException
Writes tag and class_info_index in member_value.

Parameters:
name - the class name.
Throws:
java.io.IOException

classInfoIndex

public void classInfoIndex(int index)
                    throws java.io.IOException
Writes tag and class_info_index in member_value.

Parameters:
index - class_info_index
Throws:
java.io.IOException

annotationValue

public void annotationValue()
                     throws java.io.IOException
Writes tag and annotation_value in member_value. This method must be followed by a call to annotation().

Throws:
java.io.IOException

arrayValue

public void arrayValue(int numValues)
                throws java.io.IOException
Writes 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.
Throws:
java.io.IOException


Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999-2010 Shigeru Chiba. All Rights Reserved.