The Processor Option input dialog is reached from the Annotation Processing preferences pane. It allows processor options to be added or modified.
Options entered here will be presented to processors using the Java 5 Mirror APIs through the AnnotationProcessorEnvironment interface, or to processors using the Java 6 annotation processing APIs through the ProcessingEnvironment interface. For Java 5 processors, in order to be compatible with other implementations of this API, each option will be presented in two forms: as a key/value pair, and as a combined key corresponding to the command-line form of the option, namely "-Akey=value". For instance, an option with key "foo" and value "bar" would be presented both that way and as key "-Afoo=bar", value null. For Java 6 processors, the options are simply presented as a map of key/value pairs, without the -A and without the combined -Akey=value form.
Option values representing paths may begin with a percent-delimited token such as %FOO%/
.
If the token is the name of a
classpath variable, it will be replaced with the current value of the variable at processor execution time.
For example, if FOO
is a classpath variable that points to d:/foo
, then
%FOO%/bar.txt
will resolve to d:/foo/bar.txt
when the processor is called. If the
classpath variable does not exist, then the raw string ("%FOO%" in this example) will be added to the
environment options. However, the remainder of the string ("bar.txt" in this example) does not need to exist.
The special value ROOT
expands to the absolute path of the workspace. For example,
%ROOT%/foo/bar.xml
might expand to d:/my_workspace/foo/bar.xml
. When using ROOT, the first
segment of the path must actually exist: in the example, the project foo
must exist, but
bar.xml
need not. Similarly, the special value PROJECT.DIR
expands to the absolute path of
the current project.
Certain options such as -classpath
and -sourcepath
are automatically provided to the
processors (for Java 5 processors; entering them in this dialog will have no effect, since the automatically provided
values will override any values set here), or provided to the processors as variables such as %classpath%
or %sourcepath%
(for Java 6 processors). The automatic options are described
here.