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
Methods
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. |
Methods
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 anynull
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
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/tools/Tool.html