Tool (Java Platform SE 8 )
Keywords: javax.tools.Tool interface
Date: 2015-05-24

compact3
javax.tools

## Interface Tool

- All Known Subinterfaces:
    DocumentationTool, JavaCompiler

      public interface Tool

  Common interface for tools that can be invoked from a program. A tool is traditionally a command line program such as a compiler. The set of tools available with a platform is defined by the vendor.

  Tools can be located using `ServiceLoader.load(Class)`.

  Since:
    1.6

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `Set<SourceVersion>` | `getSourceVersions()` Gets the source versions of the Java™ programming language supported by this tool.
    `int` | `run(InputStream in, OutputStream out, OutputStream err, String... arguments)` Run the tool with the given I/O channels and arguments.

- - ### Method Detail

    - #### run

          int run(InputStream in,
                  OutputStream out,
                  OutputStream err,
                  String... arguments)

      Run the tool with the given I/O channels and arguments. By convention a tool returns 0 for success and nonzero for errors. Any diagnostics generated will be written to either `out` or `err` in some unspecified format.
      Parameters:
        `in` - "standard" input; use System.in if null
        `out` - "standard" output; use System.out if null
        `err` - "standard" error; use System.err if null
        `arguments` - arguments to pass to the tool
      Returns:
        0 for success; nonzero otherwise
      Throws:
        `NullPointerException` - if the array of arguments contains any `null` elements.

    - #### getSourceVersions

          Set<SourceVersion> getSourceVersions()

      Gets the source versions of the Java™ programming language supported by this tool.
      Returns:
        a set of supported source versions

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.