Top Description Methods
javax.tools

public Interface Tool

Known Direct Subinterfaces
javax.tools.DocumentationTool, javax.tools.JavaCompiler
Imports
java.util.Set, java.io.InputStream, .OutputStream, javax.lang.model.SourceVersion

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 java.util.ServiceLoader#load(Class).

Since
1.6

Method Summary

Modifier and TypeMethod and Description
public Set<SourceVersion>

Returns:

a set of supported source versions
getSourceVersions
()

Returns the source versions of the Java programming language supported by this tool.

public default String

Returns:

the name of this tool
name
()

Returns the name of this tool, or an empty string if no name is provided.

public int

Returns:

0 for success; nonzero otherwise
run
(InputStream
"standard" input; use System.in if null
in
,
OutputStream
"standard" output; use System.out if null
out
,
OutputStream
"standard" error; use System.err if null
err
,
String...
arguments to pass to the tool
arguments
)

Run the tool with the given I/O channels and arguments.

Method Detail

getSourceVersionsback to summary
public Set<SourceVersion> getSourceVersions()

Returns the source versions of the Java programming language supported by this tool.

Returns:Set<SourceVersion>

a set of supported source versions

nameback to summary
public 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:String

the name of this tool

Since
9
runback to summary
public 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:InputStream

"standard" input; use System.in if null

out:OutputStream

"standard" output; use System.out if null

err:OutputStream

"standard" error; use System.err if null

arguments:String[]

arguments to pass to the tool

Returns:int

0 for success; nonzero otherwise

Exceptions
NullPointerException:
if the array of arguments contains any null elements.