• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with this
4  * work for additional information regarding copyright ownership. The ASF
5  * licenses this file to you under the Apache License, Version 2.0 (the
6  * "License"); you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14  * License for the specific language governing permissions and limitations under
15  * the License.
16  */
17 
18 package java.lang.annotation;
19 
20 /**
21  * Defines an enumeration for annotation retention policies. Used in conjunction
22  * with the {@link Retention} annotation to specify an annotation's time-to-live
23  * in the overall development life cycle.
24  *
25  * @since 1.5
26  */
27 public enum RetentionPolicy {
28     /**
29      * Annotation is only available in the source code.
30      */
31     SOURCE,
32     /**
33      * Annotation is available in the source code and in the class file, but not
34      * at runtime. This is the default policy.
35      */
36     CLASS,
37     /**
38      * Annotation is available in the source code, the class file and is
39      * available at runtime.
40      */
41     RUNTIME
42 }
43