Module java.compiler
Package javax.tools

Interface Tool

All Known Subinterfaces:
DocumentationTool,JavaCompiler

public interfaceTool
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 usingServiceLoader.load(Class).

Since:
1.6
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the source versions of the Java programming language supported by this tool.
    defaultString
    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

      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 eitherout orerr 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