ToolProvider (Java SE 10 & JDK 10 )
Keywords: javax.tools.ToolProvider class

Module java.compiler
Package javax.tools

## Class ToolProvider

- java.lang.Object
- - javax.tools.ToolProvider

-     public class ToolProvider
      extends Object

  Provides methods for locating tool providers, for example, providers of compilers. This class complements the functionality of `ServiceLoader`.
  Since:
    1.6

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ToolProvider()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DocumentationTool` | `getSystemDocumentationTool()` | Returns the Java™ programming language documentation tool provided with this platform.
    `static JavaCompiler` | `getSystemJavaCompiler()` | Returns the Java™ programming language compiler provided with this platform.
    `static ClassLoader` | `getSystemToolClassLoader()` | Deprecated. This method is subject to removal in a future version of Java SE.

    - ### Methods declared in class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ToolProvider

          public ToolProvider()

  - ### Method Detail

    - #### getSystemJavaCompiler

          public static JavaCompiler getSystemJavaCompiler()

      Returns the Java™ programming language compiler provided with this platform.

      The file manager returned by calling `getStandardFileManager` on this compiler supports paths provided by any filesystem.

      Implementation Note:
        This implementation returns the compiler provided by the `jdk.compiler` module if that module is available, and `null` otherwise.
      Returns:
        the compiler provided with this platform or `null` if no compiler is provided

    - #### getSystemDocumentationTool

          public static DocumentationTool getSystemDocumentationTool()

      Returns the Java™ programming language documentation tool provided with this platform.

      The file manager returned by calling `getStandardFileManager` on this tool supports paths provided by any filesystem.

      Implementation Note:
        This implementation returns the tool provided by the `jdk.javadoc` module if that module is available, and `null` otherwise.
      Returns:
        the documentation tool provided with this platform or `null` if no documentation tool is provided

    - #### getSystemToolClassLoader

          @Deprecated(since="9")
          public static ClassLoader getSystemToolClassLoader()

      Deprecated.
      This method is subject to removal in a future version of Java SE. Use the `system tool provider` or `service loader` mechanisms to locate system tools as well as user-installed tools.
      Returns a class loader that may be used to load system tools, or `null` if no such special loader is provided.
      Implementation Requirements:
        This implementation always returns `null`.
      Returns:
        a class loader, or `null`