java.lang.annotation.ElementType
The constants of this enumerated type provide a simple classification of the syntactic locations where annotations may appear in a Java program. These constants are used in Target meta-annotations to specify where it is legal to write annotations of a given type.
The syntactic locations where annotations may appear are split into declaration contexts, where annotations apply to declarations, and type contexts, where annotations apply to types used in declarations and expressions.
The constants ANNOTATION_TYPE, CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, MODULE, PARAMETER, TYPE, and TYPE_PARAMETER.
Declaration
public enum ElementType {TYPE,FIELD,METHOD,PARAMETER,CONSTRUCTOR,LOCAL_VARIABLE,ANNOTATION_TYPE,PACKAGE,TYPE_PARAMETER,TYPE_USE,MODULE,@jdk.internal.PreviewFeature(feature =jdk.internal.PreviewFeature.Feature.RECORDS,essentialAPI = true)RECORD_COMPONENT;}
1. TYPE
java.lang.annotation.ElementType.TYPE
Class, interface (including annotation type), enum, or record declaration
2. FIELD
java.lang.annotation.ElementType.FIELD
Field declaration (includes enum constants)
3. METHOD
java.lang.annotation.ElementType.METHOD
Method declaration
4. PARAMETER
java.lang.annotation.ElementType.PARAMETER
Formal parameter declaration
5. CONSTRUCTOR
java.lang.annotation.ElementType.CONSTRUCTOR
Constructor declaration
6. LOCAL_VARIABLE
java.lang.annotation.ElementType.LOCAL_VARIABLE
Local variable declaration
7. ANNOTATION_TYPE
java.lang.annotation.ElementType.ANNOTATION_TYPE
Annotation type declaration
8. PACKAGE
java.lang.annotation.ElementType.PACKAGE
Package declaration
9. TYPE_PARAMETER
java.lang.annotation.ElementType.TYPE_PARAMETER
Type parameter declaration
10. TYPE_USE
java.lang.annotation.ElementType.TYPE_USE
Use of a type
11. MODULE
java.lang.annotation.ElementType.MODULE
Module declaration.
12. RECORD_COMPONENT
java.lang.annotation.ElementType.RECORD_COMPONENT
Record component
Some other classes/interfaces of java.lang.annotation
Native: Indicates that a field defining a constant value may be referenced from native code.
Inherited: Indicates that an annotation type is automatically inherited.
IncompleteAnnotationException: Thrown to indicate that a program has attempted to access an element of an annotation type that was added to the annotation type definition after the annotation was compiled (or serialized).
AnnotationFormatError: Thrown when the annotation parser attempts to read an annotation from a class file and determines that the annotation is malformed.
ElementType: The constants of this enumerated type provide a simple classification of the syntactic locations where annotations may appear in a Java program.
Documented: If the annotation @Documented is present on the declaration of an annotation type A, then any @A annotation on an element is considered part of the element's public contract.
AnnotationTypeMismatchException: Thrown to indicate that a program has attempted to access an element of an annotation whose type has changed after the annotation was compiled.
Annotation: The common interface is extended by all annotation types.
Repeatable: The annotation type is java.lang.annotation.Repeatable is used to indicate that the annotation type whose declaration it(meta-)annotates is repeatable.
Retention: Indicates how long annotations with the annotated type are to be retained. If no Retention annotation is present on an annotation-type declaration, the retention policy defaults to RetentionPolicy.CLASS.
RetentionPolicy: Annotation retention policy. The constants of this enumerated type describe the various policies for retaining annotations.
Target: Indicates the contexts in which an annotation type is applicable.
No comments:
Post a Comment