Retention
Stay organized with collections
Save and categorize content based on your preferences.
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.
Inherited Method Summary
From interface
java.lang.annotation.Annotation
abstract
Class<? extends Annotation>
|
|
abstract
boolean
|
equals( Object obj)
Returns true if the specified object represents an annotation
that is logically equivalent to this one.
|
abstract
int
|
hashCode()
Returns the hash code of this annotation, as defined below:
The hash code of an annotation is the sum of the hash codes
of its members (including those with default values), as defined
below:
The hash code of an annotation member is (127 times the hash code
of the member-name as computed by String.hashCode() ) XOR
the hash code of the member-value, as defined below:
The hash code of a member-value depends on its type:
|
abstract
String
|
toString()
Returns a string representation of this annotation.
|
Public Methods
Returns the retention policy.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-07-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 2024-07-10 UTC."],[[["\u003cp\u003e\u003ccode\u003e@Retention\u003c/code\u003e is a meta-annotation used to specify how long an annotation is to be retained.\u003c/p\u003e\n"],["\u003cp\u003eIf no \u003ccode\u003e@Retention\u003c/code\u003e is specified, it defaults to \u003ccode\u003eRetentionPolicy.CLASS\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003e@Retention\u003c/code\u003e only has an effect when used directly on an annotation type, not as a member type.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eRetentionPolicy\u003c/code\u003e can be set to \u003ccode\u003eSOURCE\u003c/code\u003e, \u003ccode\u003eCLASS\u003c/code\u003e, or \u003ccode\u003eRUNTIME\u003c/code\u003e to control the annotation's lifespan.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003e@Retention\u003c/code\u003e provides a way to control the visibility and accessibility of annotations during compile time and runtime.\u003c/p\u003e\n"]]],[],null,["public abstract @interface **Retention** implements [Annotation](../../../../reference/java/lang/annotation/Annotation.html) \nIndicates how long annotations with the annotated type are to\nbe retained. If no Retention annotation is present on\nan annotation type declaration, the retention policy defaults to\n`RetentionPolicy.CLASS`.\n\nA Retention meta-annotation has effect only if the\nmeta-annotated type is used directly for annotation. It has no\neffect if the meta-annotated type is used as a member type in\nanother annotation type. \n\nPublic Method Summary\n\n|------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------|\n| [RetentionPolicy](../../../../reference/java/lang/annotation/RetentionPolicy.html) | [value](../../../../reference/java/lang/annotation/Retention.html#value())() Returns the retention policy. |\n\nInherited Method Summary \nFrom interface [java.lang.annotation.Annotation](../../../../reference/java/lang/annotation/Annotation.html) \n\n|----------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| abstract [Class](../../../../reference/java/lang/Class.html)\\\u003c? extends [Annotation](../../../../reference/java/lang/annotation/Annotation.html)\\\u003e | [annotationType](../../../../reference/java/lang/annotation/Annotation.html#annotationType())() Returns the annotation type of this annotation. |\n| abstract boolean | [equals](../../../../reference/java/lang/annotation/Annotation.html#equals(java.lang.Object))([Object](../../../../reference/java/lang/Object.html) obj) Returns true if the specified object represents an annotation that is logically equivalent to this one. |\n| abstract int | [hashCode](../../../../reference/java/lang/annotation/Annotation.html#hashCode())() Returns the hash code of this annotation, as defined below: The hash code of an annotation is the sum of the hash codes of its members (including those with default values), as defined below: The hash code of an annotation member is (127 times the hash code of the member-name as computed by [String.hashCode()](../../../../reference/java/lang/String.html#hashCode())) XOR the hash code of the member-value, as defined below: The hash code of a member-value depends on its type: - The hash code of a primitive value *v* is equal to *WrapperType* .valueOf(*v*).hashCode(), where *WrapperType* is the wrapper type corresponding to the primitive type of *v* ([Byte](../../../../reference/java/lang/Byte.html), [Character](../../../../reference/java/lang/Character.html), [Double](../../../../reference/java/lang/Double.html), [Float](../../../../reference/java/lang/Float.html), [Integer](../../../../reference/java/lang/Integer.html), [Long](../../../../reference/java/lang/Long.html), [Short](../../../../reference/java/lang/Short.html), or [Boolean](../../../../reference/java/lang/Boolean.html)). |\n| abstract [String](../../../../reference/java/lang/String.html) | [toString](../../../../reference/java/lang/annotation/Annotation.html#toString())() Returns a string representation of this annotation. |\n\nPublic Methods \n\npublic [RetentionPolicy](../../../../reference/java/lang/annotation/RetentionPolicy.html)\n**value**\n() \nReturns the retention policy. \n\nReturns\n\n- the retention policy"]]