JavaCompiler.CompilationTask (Java SE 14 & JDK 14)
Description: declaration: module: java.compiler, package: javax.tools, interface: JavaCompiler, interface: CompilationTask
Keywords: javax.tools.JavaCompiler.CompilationTask interface

Module java.compiler
Package javax.tools

# Interface JavaCompiler.CompilationTask

All Superinterfaces:
  `Callable<Boolean>`

All Known Implementing Classes:
  `JavacTask`

Enclosing interface:
  JavaCompiler

    public static interface JavaCompiler.CompilationTask
    extends Callable<Boolean>

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 Type | Method | Description
  --- | --- | ---
  `void` | `addModules​(Iterable<String> moduleNames)` | Adds root modules to be taken into account during module resolution.
  `Boolean` | `call()` | Performs this compilation task.
  `void` | `setLocale​(Locale locale)` | 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

    void addModules​(Iterable<String> moduleNames)
    Adds root modules to be taken into account during module resolution. Invalid module names may cause either `IllegalArgumentException` 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 names
      `IllegalStateException` - if the task has started
    Since:
      9

  - ### setProcessors

    void setProcessors​(Iterable<? extends Processor> processors)
    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

    void setLocale​(Locale locale)
    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 throw IllegalStateException.
    Specified by:
      `call` in interface `Callable<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