- All Known Implementing Classes:
JavacTask
- Enclosing interface:
- JavaCompiler
Interface representing a future for a compilation task. The
compilation task has not yet started. To start the task, call
the call method.
Before calling the call
method, additional aspects of the
task can be configured, for example, by calling the
setProcessors method.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addModules
(Iterable<String> moduleNames) Adds root modules to be taken into account during module resolution.call()
Performs this compilation task.void
Sets the locale to be applied when formatting diagnostics and other localized data.void
setProcessors
(Iterable<? extends Processor> processors) Sets processors (for annotation processing).
-
Method Details
-
addModules
Adds root modules to be taken into account during module resolution. Invalid module names may cause eitherIllegalArgumentException
to be thrown, or diagnostics to be reported when the task is started.- Parameters:
moduleNames
- the names of the root modules- Throws:
IllegalArgumentException
- may be thrown for some invalid module namesIllegalStateException
- if the task has started- Since:
- 9
-
setProcessors
Sets processors (for annotation processing). This will bypass the normal discovery mechanism.- Parameters:
processors
- processors (for annotation processing)- Throws:
IllegalStateException
- if the task has started
-
setLocale
Sets the locale to be applied when formatting diagnostics and other localized data.- Parameters:
locale
- the locale to apply;null
means apply no locale- Throws:
IllegalStateException
- if the task has started
-
call
Boolean call()Performs this compilation task. The compilation may only be performed once. Subsequent calls to this method throwIllegalStateException
.- Specified by:
call
in interfaceCallable<Boolean>
- Returns:
- true if and only all the files compiled without errors; false otherwise
- Throws:
RuntimeException
- if an unrecoverable error occurred in a user-supplied component. The cause will be the error in user code.IllegalStateException
- if called more than once
-