Retention in Java

java.lang.annotation.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.

A Retention meta-annotation has an effect only if the meta-annotated type is used directly for annotation. It has no effect if the meta-annotated type is used as a member type in another annotation type.

Declaration

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
 
    RetentionPolicy value();
}

Methods

1. value()

RetentionPolicy java.lang.annotation.Retention.value()

Returns the retention policy.

Returns: the retention policy


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