Target
Annotation Type Target
@Documented @Retention(value=RUNTIME) @Target(value=ANNOTATION_TYPE) public @interface Target
Indicates the contexts in which an annotation type is applicable. The declaration contexts and type contexts in which an annotation type may be applicable are specified in JLS 9.6.4.1, and denoted in source code by enum constants of java.lang.annotation.ElementType
.
If an @Target
meta-annotation is not present on an annotation type T
, then an annotation of type T
may be written as a modifier for any declaration except a type parameter declaration.
If an @Target
meta-annotation is present, the compiler will enforce the usage restrictions indicated by ElementType
enum constants, in line with JLS 9.7.4.
For example, this @Targ