public enum RetentionPolicy extends Enum<RetentionPolicy>
Retention meta-annotation type to specify
 how long annotations are to be retained.| Enum Constant and Description | 
|---|
CLASS
Annotations are to be recorded in the class file by the compiler
 but need not be retained by the VM at run time. 
 | 
RUNTIME
Annotations are to be recorded in the class file by the compiler and
 retained by the VM at run time, so they may be read reflectively. 
 | 
SOURCE
Annotations are to be discarded by the compiler. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
static RetentionPolicy | 
valueOf(String name)
Returns the enum constant of this type with the specified name. 
 | 
static RetentionPolicy[] | 
values()
Returns an array containing the constants of this enum type, in
the order they are declared. 
 | 
public static final RetentionPolicy SOURCE
public static final RetentionPolicy CLASS
public static final RetentionPolicy RUNTIME
AnnotatedElementpublic static RetentionPolicy[] values()
for (RetentionPolicy c : RetentionPolicy.values()) System.out.println(c);
public static RetentionPolicy valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is null Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2017, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.