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