1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements.  See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License.  You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package java.lang;
18
19import java.lang.annotation.ElementType;
20import java.lang.annotation.Retention;
21import java.lang.annotation.RetentionPolicy;
22import java.lang.annotation.Target;
23
24/**
25 * Annotation type used to indicate that the compiler should not issue the
26 * specified warnings for the marked program element. Warnings are not only
27 * suppressed for the annotated element but also for all program elements
28 * contained in that element.
29 * <p>
30 * It is recommended that programmers always use this annotation on the most
31 * deeply nested element where it is actually needed.
32 *
33 * @since 1.5
34 */
35@Target( { ElementType.TYPE, ElementType.FIELD, ElementType.METHOD,
36        ElementType.PARAMETER, ElementType.CONSTRUCTOR,
37        ElementType.LOCAL_VARIABLE })
38@Retention(RetentionPolicy.SOURCE)
39public @interface SuppressWarnings {
40
41    /**
42     * The list of warnings a compiler should not issue.
43     */
44    public String[] value();
45}
46