javassist.bytecode

Class ParameterAnnotationsAttribute

public class ParameterAnnotationsAttribute extends AttributeInfo

A class representing RuntimeVisibleAnnotations_attribute and RuntimeInvisibleAnnotations_attribute.

To obtain an ParameterAnnotationAttribute object, invoke getAttribute(ParameterAnnotationsAttribute.invisibleTag) in MethodInfo. The obtained attribute is a runtime invisible annotations attribute. If the parameter is ParameterAnnotationAttribute.visibleTag, then the obtained attribute is a runtime visible one.

Field Summary
static StringinvisibleTag
The name of the RuntimeInvisibleParameterAnnotations attribute.
static StringvisibleTag
The name of the RuntimeVisibleParameterAnnotations attribute.
Constructor Summary
ParameterAnnotationsAttribute(ConstPool cp, String attrname, byte[] info)
Constructs a Runtime(In)VisisbleParameterAnnotations_attribute.
ParameterAnnotationsAttribute(ConstPool cp, String attrname)
Constructs an empty Runtime(In)VisisbleParameterAnnotations_attribute.
Method Summary
AttributeInfocopy(ConstPool newCp, Map classnames)
Copies this attribute and returns a new copy.
Annotation[][]getAnnotations()
Parses the annotations and returns a data structure representing that parsed annotations.
intnumParameters()
Returns num_parameters.
voidsetAnnotations(Annotation[][] params)
Changes the annotations represented by this object according to the given array of Annotation objects.

Field Detail

invisibleTag

public static final String invisibleTag
The name of the RuntimeInvisibleParameterAnnotations attribute.

visibleTag

public static final String visibleTag
The name of the RuntimeVisibleParameterAnnotations attribute.

Constructor Detail

ParameterAnnotationsAttribute

public ParameterAnnotationsAttribute(ConstPool cp, String attrname, byte[] info)
Constructs a Runtime(In)VisisbleParameterAnnotations_attribute.

Parameters: cp constant pool attrname attribute name (visibleTag or invisibleTag). info the contents of this attribute. It does not include attribute_name_index or attribute_length.

ParameterAnnotationsAttribute

public ParameterAnnotationsAttribute(ConstPool cp, String attrname)
Constructs an empty Runtime(In)VisisbleParameterAnnotations_attribute. A new annotation can be later added to the created attribute by setAnnotations().

Parameters: cp constant pool attrname attribute name (visibleTag or invisibleTag).

See Also: (Annotation[][])

Method Detail

copy

public AttributeInfo copy(ConstPool newCp, Map classnames)
Copies this attribute and returns a new copy.

getAnnotations

public Annotation[][] getAnnotations()
Parses the annotations and returns a data structure representing that parsed annotations. Note that changes of the node values of the returned tree are not reflected on the annotations represented by this object unless the tree is copied back to this object by setAnnotations().

Returns: Each element of the returned array represents an array of annotations that are associated with each method parameter.

See Also: (Annotation[][])

numParameters

public int numParameters()
Returns num_parameters.

setAnnotations

public void setAnnotations(Annotation[][] params)
Changes the annotations represented by this object according to the given array of Annotation objects.

Parameters: params the data structure representing the new annotations. Every element of this array is an array of Annotation and it represens annotations of each method parameter.

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