Java™ Platform
Standard Ed. 6

javax.tools
Interface Tool

All Known Subinterfaces:
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
 Set<SourceVersion> getSourceVersions()
          Gets the source versions of the Java™ programming language supported by this tool.
 int run(InputStream in, OutputStream out, OutputStream err, String... arguments)
          Run the tool with the given I/O channels and arguments.
 

Method Detail

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()
Gets the source versions of the Java™ programming language supported by this tool.

Returns:
a set of supported source versions

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.

Scripting on this page tracks web page traffic, but does not change the content in any way.