Stay organized with collections
Save and categorize content based on your preferences.
Retention
public
abstract
@interface
Retention
implements
Annotation
java.lang.annotation.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.
Summary
Public methods
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# Retention\n\nAdded in [API level 1](/guide/topics/manifest/uses-sdk-element#ApiLevels) \nSummary: [Methods](#pubmethods) \\| [Inherited Methods](#inhmethods) \n\nRetention\n=========\n\n\n`\npublic\n\n\nabstract\n@interface\nRetention\n`\n\n\n`\n\n\nimplements\n\n`[Annotation](/reference/java/lang/annotation/Annotation)`\n\n\n`\n\n|--------------------------------|\n| java.lang.annotation.Retention |\n\n\u003cbr /\u003e\n\n*** ** * ** ***\n\nIndicates how long annotations with the annotated interface are to\nbe retained. If no Retention annotation is present on\nan annotation interface declaration, the retention policy defaults to\n`RetentionPolicy.CLASS`.\n\nA Retention meta-annotation has effect only if the\nmeta-annotated interface is used directly for annotation. It has no\neffect if the meta-annotated interface is used as a member interface in\nanother annotation interface.\n\nSummary\n-------\n\n| ### Public methods ||\n|-----------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|\n| ` `[RetentionPolicy](/reference/java/lang/annotation/RetentionPolicy) | ` `[value](/reference/java/lang/annotation/Retention#value())`() ` Returns the retention policy. |\n\n| ### Inherited methods |\n|-----------------------|---|\n| From interface ` `[java.lang.annotation.Annotation](/reference/java/lang/annotation/Annotation)` ` |-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` abstract `[Class](/reference/java/lang/Class)`\u003c? extends `[Annotation](/reference/java/lang/annotation/Annotation)`\u003e` | ` `[annotationType](/reference/java/lang/annotation/Annotation#annotationType())`() ` Returns the annotation interface of this annotation. | | ` abstract boolean` | ` `[equals](/reference/java/lang/annotation/Annotation#equals(java.lang.Object))`(`[Object](/reference/java/lang/Object)` obj) ` Returns true if the specified object represents an annotation that is logically equivalent to this one. | | ` abstract int` | ` `[hashCode](/reference/java/lang/annotation/Annotation#hashCode())`() ` Returns the hash code of this annotation. | | ` abstract `[String](/reference/java/lang/String) | ` `[toString](/reference/java/lang/annotation/Annotation#toString())`() ` Returns a string representation of this annotation. | ||\n\nPublic methods\n--------------\n\n### value\n\nAdded in [API level 1](/guide/topics/manifest/uses-sdk-element#ApiLevels) \n\n```\npublic RetentionPolicy value ()\n```\n\nReturns the retention policy.\n\n\u003cbr /\u003e\n\n| Returns ||\n|--------------------------------------------------------------------|-----------------------------|\n| [RetentionPolicy](/reference/java/lang/annotation/RetentionPolicy) | the retention policy \u003cbr /\u003e |"]]