- All Known Subinterfaces:
DocumentationTool,JavaCompiler
public interfaceToolCommon 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 Default Methods Modifier and Type Method Description Set<SourceVersion>getSourceVersions()Returns the source versions of the Java™ programming language supported by this tool.defaultStringname()Returns the name of this tool, or an empty string if no name is provided.intrun(InputStream in,OutputStream out,OutputStream err,String... arguments)Run the tool with the given I/O channels and arguments.
Method Detail
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 eitheroutorerrin some unspecified format.- Parameters:
in- "standard" input; use System.in if nullout- "standard" output; use System.out if nullerr- "standard" error; use System.err if nullarguments- arguments to pass to the tool- Returns:
- 0 for success; nonzero otherwise
- Throws:
NullPointerException- if the array of arguments contains anynullelements.
getSourceVersions
Set<SourceVersion> getSourceVersions()
Returns the source versions of the Java™ programming language supported by this tool.- Returns:
- a set of supported source versions