# Interface JavaToolchainResolver

All Superinterfaces:
  `BuildService<BuildServiceParameters.None>`

@Incubating public interface JavaToolchainResolver extends BuildService<BuildServiceParameters.None>
Interface that needs to be implemented by Java toolchain provisioning plugins.

Plugin implementors have to provide the mapping from the Java toolchain request to a download information.

Since:
  7.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Optional<JavaToolchainDownload>`
  `resolve(JavaToolchainRequest request)`
  Returns a `JavaToolchainDownload` if a Java toolchain matching the provided specification can be provided.

  ### Methods inherited from interface BuildService

  `getParameters`

- ## Method Details

  - ### resolve

    Optional<JavaToolchainDownload> resolve(JavaToolchainRequest request)
    Returns a `JavaToolchainDownload` if a Java toolchain matching the provided specification can be provided.
    Parameters:
      `request` - information about the toolchain needed and the environment it's needed in
    Returns:
      empty Optional if and only if the provided specification can't be matched