Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.tools
Interface Tool

All Known Subinterfaces:
  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
`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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.