Class 
Use 
PREV CLASS   NEXT CLASS      All Classes   All Packages
SUMMARY: REQUIRED | OPTIONAL      DETAIL: ELEMENT
FlexDoc/Javadoc 2.0
Demo Java Doc

java.base / java.lang.annotation
Annotation Type Target

@Documented
@Retention(RUNTIME)
public @interface Target
Indicates the contexts in which an annotation interface is applicable. The declaration contexts and type contexts in which an annotation interface may be applicable are specified in JLS {@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 interface T, then an annotation of type T may be written as a modifier for any declaration.

If an @Target meta-annotation is present, the compiler will enforce the usage restrictions indicated by ElementType enum constants, in line with JLS {@jls 9.7.4}.

For example, this @Target meta-annotation indicates that the declared interface is itself a meta-annotation interface. It can only be used on annotation interface declarations:

    @Target(ElementType.ANNOTATION_TYPE)
    public @interface MetaAnnotationType {
        ...
    }
 

This @Target meta-annotation indicates that the declared class or interface is intended solely for use as a member class or interface in complex annotation interface declarations. It cannot be used to annotate anything directly:

    @Target({})
    public @interface MemberInterface {
        ...
    }
 

It is a compile-time error for a single ElementType constant to appear more than once in an @Target annotation. For example, the following @Target meta-annotation is illegal:

    @Target({ElementType.FIELD, ElementType.METHOD, ElementType.FIELD})
    public @interface Bogus {
        ...
    }
 
Since:
1.5

Required Element Summary
Returns an array of the kinds of elements an annotation interface can be applied to.
Element Detail
value
ElementType[] value
Returns an array of the kinds of elements an annotation interface can be applied to.
Returns:
an array of the kinds of elements an annotation interface can be applied to

 Class 
Use 
PREV CLASS   NEXT CLASS      All Classes   All Packages
SUMMARY: REQUIRED | OPTIONAL      DETAIL: ELEMENT
FlexDoc/Javadoc 2.0
Demo Java Doc

Java API documentation generated with FlexDoc/Javadoc 2.0 using JavadocClassic 3.0 template set.
FlexDoc/Javadoc is a template-driven programming tool for rapid development of any Javadoc-based Java API documentation generators (i.e. doclets). If you need to customize your Javadoc without writing a full-blown doclet from scratch, FlexDoc/Javadoc may be the only tool able to help you! Find out more at www.flexdoc.xyz