Retention (Java SE 10 & JDK 10 )
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.

  Since:
    1.5
  See The Java™ Language Specification:
    9.6.4.2 @Retention

- - ### Required Element Summary

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

- - ### Element Detail

    - #### value

          RetentionPolicy value

      Returns the retention policy.
      Returns:
        the retention policy