SupportedOptions.java revision 2571:10fc81ac75b4
1289848Sjkim/*
2289848Sjkim * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
3289848Sjkim * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4289848Sjkim *
5289848Sjkim * This code is free software; you can redistribute it and/or modify it
6289848Sjkim * under the terms of the GNU General Public License version 2 only, as
7289848Sjkim * published by the Free Software Foundation.  Oracle designates this
8289848Sjkim * particular file as subject to the "Classpath" exception as provided
9289848Sjkim * by Oracle in the LICENSE file that accompanied this code.
10289848Sjkim *
11289848Sjkim * This code is distributed in the hope that it will be useful, but WITHOUT
12289848Sjkim * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13289848Sjkim * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14289848Sjkim * version 2 for more details (a copy is included in the LICENSE file that
15289848Sjkim * accompanied this code).
16289848Sjkim *
17289848Sjkim * You should have received a copy of the GNU General Public License version
18289848Sjkim * 2 along with this work; if not, write to the Free Software Foundation,
19289848Sjkim * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20289848Sjkim *
21289848Sjkim * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22289848Sjkim * or visit www.oracle.com if you need additional information or have any
23289848Sjkim * questions.
24289848Sjkim */
25289848Sjkim
26289848Sjkimpackage javax.annotation.processing;
27289848Sjkim
28289848Sjkimimport java.lang.annotation.*;
29289848Sjkimimport static java.lang.annotation.RetentionPolicy.*;
30289848Sjkimimport static java.lang.annotation.ElementType.*;
31289848Sjkim
32289848Sjkim/**
33298998Sjkim * An annotation used to indicate what options an annotation processor
34298998Sjkim * supports.  The {@link Processor#getSupportedOptions} method can
35298998Sjkim * construct its result from the value of this annotation, as done by
36298998Sjkim * {@link AbstractProcessor#getSupportedOptions}.  Only {@linkplain
37298998Sjkim * Processor#getSupportedOptions strings conforming to the
38298998Sjkim * grammar} should be used as values.
39298998Sjkim *
40298998Sjkim * @author Joseph D. Darcy
41289848Sjkim * @author Scott Seligman
42289848Sjkim * @author Peter von der Ahé
43289848Sjkim * @since 1.6
44289848Sjkim */
45289848Sjkim@Documented
46289848Sjkim@Target(TYPE)
47289848Sjkim@Retention(RUNTIME)
48289848Sjkimpublic @interface SupportedOptions {
49289848Sjkim    /**
50289848Sjkim     * Returns the supported options.
51289848Sjkim     * @return the supported options
52289848Sjkim     */
53289848Sjkim    String [] value();
54289848Sjkim}
55