Summary: Methods | Inherited Methods
public
abstract
@interface
Target
implements
Annotation
java.lang.annotation.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 {
...
}
Summary
Public methods | |
|---|---|
ElementType[]
|
value()
Returns an array of the kinds of elements an annotation interface can be applied to. |
Inherited methods | |||||||||
|---|---|---|---|---|---|---|---|---|---|
|
From interface
| |||||||||
Public methods
value
public ElementType[] value ()
Returns an array of the kinds of elements an annotation interface can be applied to.
| Returns | |
|---|---|
ElementType[] |
an array of the kinds of elements an annotation interface can be applied to |