- 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
-
Method Summary
Modifier and TypeMethodDescriptionReturns 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
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
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 eitherout
orerr
in 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 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
-