• 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 Java program elements. It is used in conjunction
22  * with the {@link Target} meta-annotation to restrict the use of an annotation
23  * to certain program elements.
24  *
25  * @since 1.5
26  */
27 public enum ElementType {
28     /**
29      * Class, interface or enum declaration.
30      */
31     TYPE,
32     /**
33      * Field declaration.
34      */
35     FIELD,
36     /**
37      * Method declaration.
38      */
39     METHOD,
40     /**
41      * Parameter declaration.
42      */
43     PARAMETER,
44     /**
45      * Constructor declaration.
46      */
47     CONSTRUCTOR,
48     /**
49      * Local variable declaration.
50      */
51     LOCAL_VARIABLE,
52     /**
53      * Annotation type declaration.
54      */
55     ANNOTATION_TYPE,
56     /**
57      * Package declaration.
58      */
59     PACKAGE
60 }
61