I have a custom annotation with a single variable.
I use it to annotate attributes in a class and what i need is that the annotation default value for the variable, be the type of the attribute declared. Here the example:
Annotation:
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Annotation{
Class<?> className() default ???????; // <- here i need to set something that tells my annotation to take the class of the attribute annotated
}
Class using Annotation:
public class Main {
@Annotation
private AnotherClass annotatedAttribute;
//other code
}
And so what i need is that when i get the annotatedAttribute field and i get its annotation and its value of the className() variable, the default value should be the equivalent to AnotherClass.class unless i state otherwise in the declaration of the @Annotation
E.g:
@Annotation(classname= YetAnotherClass.class)
Is there a way to do this?
I saw some posts talking about an annotation processor, but in my case i don't want to generate new classes files since my class already exist and i'm fetching the field and the annotation through reflection (so i'm at runtime level)
Aucun commentaire:
Enregistrer un commentaire