Annotation retention

Spring and other frameworks usually handle annotations during runtime. The compiler and the class loader have to be instructed that the annotation is to be kept available during runtime. To do so, the annotation interface itself has to be annotated using the @Retention annotation. This annotation has one parameter of the RetentionPolicy type, which is an enum. We will soon discuss how annotation parameters should be defined.

It is interesting to note that the @Retention annotation on the annotation interface has to be available in the class file; otherwise, the class loaders would not know how to treat an annotation. How do we signal that an annotation is to be kept by the compiler after the compilation process? We annotate the annotation interface declaration. Thus, the declaration of @Retention is annotated by itself and it is declared to be available in runtime.

The annotation declaration can be annotated using @Retention(RetentionPolicy.SOURCE), @Retention(RetentionPolicy.CLASS), or @Retention(RetentionPolicy.RUNTIME).

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.143.239.103