|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavassist.bytecode.AttributeInfo
javassist.bytecode.AnnotationsAttribute
A class representing
RuntimeVisibleAnnotations_attribute
and
RuntimeInvisibleAnnotations_attribute
.
To obtain an AnnotationAttribute object, invoke
getAttribute(AnnotationsAttribute.invisibleTag)
in ClassFile
, MethodInfo
,
or FieldInfo
. The obtained attribute is a
runtime invisible annotations attribute.
If the parameter is
AnnotationAttribute.visibleTag
, then the obtained
attribute is a runtime visible one.
If you want to record a new AnnotationAttribute object, execute the following snippet:
ClassFile cf = ... ; ConstPool cp = cf.getConstPool(); AnnotationsAttribute attr = new AnnotationsAttribute(cp, AnnotationsAttribute.invisibleTag); Annotation a = new Annotation("Author", cp); a.addMemberValue("name", new StringMemberValue("Chiba", cp)); attr.setAnnotation(a); cf.addAttribute(attr);
Field Summary | |
static java.lang.String |
invisibleTag
The name of the RuntimeInvisibleAnnotations attribute. |
static java.lang.String |
visibleTag
The name of the RuntimeVisibleAnnotations attribute. |
Constructor Summary | |
AnnotationsAttribute(ConstPool cp,
java.lang.String attrname)
Constructs an empty Runtime(In)VisisbleAnnotations_attribute . |
|
AnnotationsAttribute(ConstPool cp,
java.lang.String attrname,
byte[] info)
Constructs a Runtime(In)VisisbleAnnotations_attribute . |
Method Summary | |
void |
addAnnotation(Annotation annotation)
Adds an annotation. |
AttributeInfo |
copy(ConstPool newCp,
java.util.Map classnames)
Copies this attribute and returns a new copy. |
Annotation |
getAnnotation(java.lang.String type)
Parses the annotations and returns a data structure representing the annotation with the specified type. |
Annotation[] |
getAnnotations()
Parses the annotations and returns a data structure representing that parsed annotations. |
int |
numAnnotations()
Returns num_annotations . |
void |
setAnnotation(Annotation annotation)
Changes the annotations. |
void |
setAnnotations(Annotation[] annotations)
Changes the annotations represented by this object according to the given array of Annotation objects. |
java.lang.String |
toString()
Returns a string representation of this object. |
Methods inherited from class javassist.bytecode.AttributeInfo |
get, getConstPool, getName, length, set |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final java.lang.String visibleTag
RuntimeVisibleAnnotations
attribute.
public static final java.lang.String invisibleTag
RuntimeInvisibleAnnotations
attribute.
Constructor Detail |
public AnnotationsAttribute(ConstPool cp, java.lang.String attrname, byte[] info)
Runtime(In)VisisbleAnnotations_attribute
.
cp
- constant poolattrname
- attribute name (visibleTag
or
invisibleTag
).info
- the contents of this attribute. It does not
include attribute_name_index
or
attribute_length
.public AnnotationsAttribute(ConstPool cp, java.lang.String attrname)
Runtime(In)VisisbleAnnotations_attribute
.
A new annotation can be later added to the created attribute
by setAnnotations()
.
cp
- constant poolattrname
- attribute name (visibleTag
or
invisibleTag
).setAnnotations(Annotation[])
Method Detail |
public int numAnnotations()
num_annotations
.
public AttributeInfo copy(ConstPool newCp, java.util.Map classnames)
copy
in class AttributeInfo
newCp
- the constant pool table used by the new copy.classnames
- pairs of replaced and substituted
class names.public Annotation getAnnotation(java.lang.String type)
getAnnotations()
as to the returned data structure.
type
- the annotation type.getAnnotations()
public void addAnnotation(Annotation annotation)
annotation
- the added annotation.public Annotation[] getAnnotations()
setAnnotations()
.
setAnnotations(Annotation[])
public void setAnnotations(Annotation[] annotations)
Annotation
objects.
annotations
- the data structure representing the
new annotations.public void setAnnotation(Annotation annotation)
setAnnotations(new Annotation[] { annotation })
annotation
- the data structure representing
the new annotation.public java.lang.String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |