# Annotation Interface Retention

@Documented @Retention(RUNTIME) @Target(ANNOTATION_TYPE) public @interface Retention
Indicates how long annotations with the annotated interface are to be retained. If no Retention annotation is present on an annotation interface declaration, the retention policy defaults to `RetentionPolicy.CLASS`.

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

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