Interface JavaCompiler.CompilationTask
- 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.
- Since:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddModules(Iterable<String> moduleNames) Adds root modules to be taken into account during module resolution.call()Performs this compilation task.voidSets the locale to be applied when formatting diagnostics and other localized data.voidsetProcessors(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 eitherIllegalArgumentExceptionto 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;nullmeans 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:
callin 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
-