Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Methods](https://developer.android.com/reference/java/lang/annotation/Retention#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/lang/annotation/Retention#inhmethods)

# Retention

` public abstract @interface Retention `   
` implements https://developer.android.com/reference/java/lang/annotation/Annotation `

|---|
| java.lang.annotation.Retention |

<br />

*** ** * ** ***

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.

## Summary

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/annotation/RetentionPolicy` | ` https://developer.android.com/reference/java/lang/annotation/Retention#value()() ` Returns the retention policy. |

### Inherited methods

From interface ` https://developer.android.com/reference/java/lang/annotation/Annotation ` ` abstract https://developer.android.com/reference/java/lang/Class<? extends https://developer.android.com/reference/java/lang/annotation/Annotation>` ` https://developer.android.com/reference/java/lang/annotation/Annotation#annotationType()() `

Returns the annotation interface of this annotation.
` abstract boolean` ` https://developer.android.com/reference/java/lang/annotation/Annotation#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Returns true if the specified object represents an annotation that is logically equivalent to this one.
` abstract int` ` https://developer.android.com/reference/java/lang/annotation/Annotation#hashCode()() `

Returns the hash code of this annotation.
` abstract https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/annotation/Annotation#toString()() `

Returns a string representation of this annotation.

## Public methods

### value

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public RetentionPolicy value ()
```

Returns the retention policy.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/annotation/RetentionPolicy` | the retention policy <br /> |