java.lang.annotation.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.
In more detail, when an annotation type A is annotated with Documented, the presence and value of annotations of type A are a part of the public contract of the elements Aannotates. Conversely, if an annotation type B is not annotated with Documented, the presence and value of B annotations are not part of the public contract of the elements B annotates.
Concretely, if an annotation type is annotated with Documented, by default a tool like javadoc will display annotations of that type in its output while annotations of annotation types without Documented will not be displayed.
Declaration
@Documented@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.ANNOTATION_TYPE)public @interface Documented {}
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