ToolProvider (Java SE 15 & JDK 15)
Description: declaration: module: java.compiler, package: javax.tools, class: ToolProvider
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()` | Deprecated, for removal: This API element is subject to removal in a future version.

- ## Method Summary

  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 Details

  - ### ToolProvider

    @Deprecated(forRemoval=true, since="14") public ToolProvider()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Do not call.

- ## Method Details

  - ### 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`