A class representing AnnotationDefault_attribute .
For example, if you declare the following annotation type:
@interface Author {
String name() default "Shakespeare";
int age() default 99;
}
The defautl values of name and age
are stored as annotation default attributes in Author.class .
The following code snippet obtains the default value of name :
ClassPool pool = ...
CtClass cc = pool.get("Author");
CtMethod cm = cc.getDeclaredMethod("age");
MethodInfo minfo = cm.getMethodInfo();
AnnotationDefaultAttribute ada
= (AnnotationDefaultAttribute)
minfo.getAttribute(AnnotationDefaultAttribute.tag);
MemberValue value = ada.getDefaultValue()); // default value of age
If the following statement is executed after the code above,
the default value of age is set to 80:
ada.setDefaultValue(new IntegerMemberValue(minfo.getConstPool(), 80));
See Also: AnnotationsAttribute See Also: javassist.bytecode.annotation.MemberValue |