# Processor Option Input Dialog

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.