Package javax.tools

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
    • Method Summary

      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.
    • 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 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()
        Returns the source versions of the Java™ programming language supported by this tool.
        Returns:
        a set of supported source versions