# Class JvmVendorSpec

java.lang.Object
org.gradle.jvm.toolchain.JvmVendorSpec

public abstract class JvmVendorSpec extends Object
Represents a filter for a vendor of a Java Virtual Machine implementation.

Since:
  6.8

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final JvmVendorSpec`
  `ADOPTIUM`
  A constant for using Eclipse Adoptium as the JVM vendor.
  `static final JvmVendorSpec`
  `ADOPTOPENJDK`
  Matching.
  `static final JvmVendorSpec`
  `AMAZON`
  Matching.
  `static final JvmVendorSpec`
  `APPLE`
  Matching.
  `static final JvmVendorSpec`
  `AZUL`
  Matching.
  `static final JvmVendorSpec`
  `BELLSOFT`
  Matching.
  `static final JvmVendorSpec`
  `GRAAL_VM`
  A constant for using GraalVM as the JVM vendor.
  `static final JvmVendorSpec`
  `HEWLETT_PACKARD`
  Matching.
  `static final JvmVendorSpec`
  `IBM`
  Matching.
  `static final JvmVendorSpec`
  `JETBRAINS`
  A constant for using JetBrains Runtime as the JVM vendor.
  `static final JvmVendorSpec`
  `MICROSOFT`
  A constant for using Microsoft OpenJDK as the JVM vendor.
  `static final JvmVendorSpec`
  `ORACLE`
  Matching.
  `static final JvmVendorSpec`
  `SAP`
  Matching.
  `static final JvmVendorSpec`
  `TENCENT`
  A constant for using Tencent Kona JDK as the JVM vendor.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JvmVendorSpec()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract boolean`
  `matches(String vendor)`
  Determines if the vendor passed as an argument matches this spec.
  `static JvmVendorSpec`
  `matching(String match)`
  Returns a vendor spec that matches a VM by its vendor.
  `static JvmVendorSpec`
  `of(String vendor)`
  Returns a vendor spec that matches a VM by its vendor.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### ADOPTIUM

    public static final JvmVendorSpec ADOPTIUM
    A constant for using Eclipse Adoptium as the JVM vendor.
    Since:
      7.4

  - ### ADOPTOPENJDK

    public static final JvmVendorSpec ADOPTOPENJDK
    Matching.
    Since:
      6.8

  - ### AMAZON

    public static final JvmVendorSpec AMAZON
    Matching.
    Since:
      6.8

  - ### APPLE

    public static final JvmVendorSpec APPLE
    Matching.
    Since:
      6.8

  - ### AZUL

    public static final JvmVendorSpec AZUL
    Matching.
    Since:
      6.8

  - ### BELLSOFT

    public static final JvmVendorSpec BELLSOFT
    Matching.
    Since:
      6.8

  - ### GRAAL_VM

    public static final JvmVendorSpec GRAAL_VM
    A constant for using GraalVM as the JVM vendor.
    Since:
      7.1

  - ### HEWLETT_PACKARD

    public static final JvmVendorSpec HEWLETT_PACKARD
    Matching.
    Since:
      6.8

  - ### IBM

    public static final JvmVendorSpec IBM
    Matching.
    Since:
      6.8

  - ### JETBRAINS

    @Incubating public static final JvmVendorSpec JETBRAINS
    A constant for using JetBrains Runtime as the JVM vendor.
    Since:
      8.4

  - ### MICROSOFT

    public static final JvmVendorSpec MICROSOFT
    A constant for using Microsoft OpenJDK as the JVM vendor.
    Since:
      7.3

  - ### ORACLE

    public static final JvmVendorSpec ORACLE
    Matching.
    Since:
      6.8

  - ### SAP

    public static final JvmVendorSpec SAP
    Matching.
    Since:
      6.8

  - ### TENCENT

    @Incubating public static final JvmVendorSpec TENCENT
    A constant for using Tencent Kona JDK as the JVM vendor.
    Since:
      8.6

- ## Constructor Details

  - ### JvmVendorSpec

    public JvmVendorSpec()

- ## Method Details

  - ### matches

    @Incubating public abstract boolean matches(String vendor)
    Determines if the vendor passed as an argument matches this spec.
    Parameters:
      `vendor` - the vendor to test
    Returns:
      true if this spec matches the vendor
    Since:
      7.6

  - ### matching

    public static JvmVendorSpec matching(String match)
    Returns a vendor spec that matches a VM by its vendor.

    A VM is determined eligible if the system property `java.vendor` contains the given match string. The comparison is done case-insensitive.

    Parameters:
      `match` - the sequence to search for
    Returns:
      a new filter object
    Since:
      6.8

  - ### of

    @Incubating public static JvmVendorSpec of(String vendor)
    Returns a vendor spec that matches a VM by its vendor.

    The passed in vendor will first be matched against the known vendors. If there is a match, then the vendor spec matching the known vendor will be returned.

    Parameters:
      `vendor` - the vendor string to match
    Returns:
      a `JvmVendorSpec` that matches the given vendor
    Since:
      8.13
    See Also:
      - ADOPTIUM and others known vendor specs