Retention (Java SE 14 & JDK 14)
Description: declaration: module: java.base, package: java.lang.annotation, annotation type: Retention
Keywords: java.lang.annotation.Retention class

Module java.base
Package java.lang.annotation

# Annotation Type Retention

    @Documented
    @Retention(RUNTIME)
    @Target(ANNOTATION_TYPE)
    public @interface 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 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.

See Java Language Specification:
  9.6.4.2 @Retention
Since:
  1.5

- ## Required Element Summary

  Required Elements
  Modifier and Type | Required Element | Description
  --- | --- | ---
  `RetentionPolicy` | `value` | Returns the retention policy.

- ## Element Details

  - ### value

    RetentionPolicy value
    Returns the retention policy.
    Returns:
      the retention policy