Package Summary Overview Summary

### class:Tool [NONE]
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 Modifier and Type Method Description `Set <SourceVersion>` `getSourceVersions()` Returns the source versions of the Java programming language supported by this tool. `default String` `name()` Returns the name of this tool, or an empty string if no name is provided. `int` `run (InputStream in, OutputStream out, OutputStream err, String... arguments)` Run the tool with the given I/O channels and arguments. ## Method Details ### name default String name() Returns the name of this tool, or an empty string if no name is provided. API Note: It is recommended that the name be the same as would be used on the command line: for example, "javac", "jar", "jlink". Implementation Note: This implementation returns an empty string. Returns: the name of this tool Since: 9 ### 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() Returns the source versions of the Java programming language supported by this tool. Returns: a set of supported source versions