# Enum JavaVersion

java.lang.Object
java.lang.Enum<JavaVersion>
org.gradle.api.JavaVersion

All Implemented Interfaces:
  `Serializable, Comparable<JavaVersion>, Constable`

public enum JavaVersion extends Enum<JavaVersion>
An enumeration of Java versions. Before 9: http://www.oracle.com/technetwork/java/javase/versioning-naming-139433.html 9+: http://openjdk.java.net/jeps/223

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Enum

  `Enum.EnumDesc<E>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `VERSION_1_1`
  `VERSION_1_10`
  `VERSION_1_2`
  `VERSION_1_3`
  `VERSION_1_4`
  `VERSION_1_5`
  `VERSION_1_6`
  `VERSION_1_7`
  `VERSION_1_8`
  `VERSION_1_9`
  `VERSION_11`
  Java 11 major version.
  `VERSION_12`
  Java 12 major version.
  `VERSION_13`
  Java 13 major version.
  `VERSION_14`
  Java 14 major version.
  `VERSION_15`
  Java 15 major version.
  `VERSION_16`
  Java 16 major version.
  `VERSION_17`
  Java 17 major version.
  `VERSION_18`
  Java 18 major version.
  `VERSION_19`
  Java 19 major version.
  `VERSION_20`
  Java 20 major version.
  `VERSION_21`
  Java 21 major version.
  `VERSION_22`
  Java 22 major version.
  `VERSION_23`
  Java 23 major version.
  `VERSION_24`
  Java 24 major version.
  `VERSION_25`
  Java 25 major version.
  `VERSION_26`
  Java 26 major version.
  `VERSION_27`
  Java 27 major version.
  `VERSION_28`
  Java 28 major version.
  `VERSION_29`
  Java 29 major version.
  `VERSION_30`
  Java 30 major version.
  `VERSION_HIGHER`
  Higher version of Java.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static JavaVersion`
  `current()`
  Returns the version of the current JVM.
  `static JavaVersion`
  `forClass(byte[] classData)`
  `static JavaVersion`
  `forClassVersion(int classVersion)`
  `String`
  `getMajorVersion()`
  `boolean`
  `isCompatibleWith(JavaVersion otherVersion)`
  Returns if this version is compatible with the given version
  `boolean`
  `isJava10()`
  `boolean`
  `isJava10Compatible()`
  `boolean`
  `isJava11()`
  Returns if the version is Java 11.
  `boolean`
  `isJava11Compatible()`
  Returns if the version is Java 11 compatible.
  `boolean`
  `isJava12()`
  Returns if the version is Java 12.
  `boolean`
  `isJava12Compatible()`
  Returns if the version is Java 12 compatible.
  `boolean`
  `isJava5()`
  `boolean`
  `isJava5Compatible()`
  `boolean`
  `isJava6()`
  `boolean`
  `isJava6Compatible()`
  `boolean`
  `isJava7()`
  `boolean`
  `isJava7Compatible()`
  `boolean`
  `isJava8()`
  `boolean`
  `isJava8Compatible()`
  `boolean`
  `isJava9()`
  `boolean`
  `isJava9Compatible()`
  `(package private) static void`
  `resetCurrent()`
  `int`
  `toClassVersion()`
  Returns the JVM class file major version for this Java version.
  `String`
  `toString()`
  `static JavaVersion`
  `toVersion(Object value)`
  Converts the given object into a `JavaVersion`.
  `static JavaVersion`
  `valueOf(String name)`
  Returns the enum constant of this type with the specified name.
  `static JavaVersion[]`
  `values()`
  Returns an array containing the constants of this enum type, in the order they are declared.

  ### Methods inherited from class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf`

  ### Methods inherited from class Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### VERSION_1_1

    public static final JavaVersion VERSION_1_1

  - ### VERSION_1_2

    public static final JavaVersion VERSION_1_2

  - ### VERSION_1_3

    public static final JavaVersion VERSION_1_3

  - ### VERSION_1_4

    public static final JavaVersion VERSION_1_4

  - ### VERSION_1_5

    public static final JavaVersion VERSION_1_5

  - ### VERSION_1_6

    public static final JavaVersion VERSION_1_6

  - ### VERSION_1_7

    public static final JavaVersion VERSION_1_7

  - ### VERSION_1_8

    public static final JavaVersion VERSION_1_8

  - ### VERSION_1_9

    public static final JavaVersion VERSION_1_9

  - ### VERSION_1_10

    public static final JavaVersion VERSION_1_10

  - ### VERSION_11

    public static final JavaVersion VERSION_11
    Java 11 major version.
    Since:
      4.7

  - ### VERSION_12

    public static final JavaVersion VERSION_12
    Java 12 major version.
    Since:
      5.0

  - ### VERSION_13

    public static final JavaVersion VERSION_13
    Java 13 major version.
    Since:
      6.0

  - ### VERSION_14

    public static final JavaVersion VERSION_14
    Java 14 major version.
    Since:
      6.3

  - ### VERSION_15

    public static final JavaVersion VERSION_15
    Java 15 major version.
    Since:
      6.3

  - ### VERSION_16

    public static final JavaVersion VERSION_16
    Java 16 major version.
    Since:
      6.3

  - ### VERSION_17

    public static final JavaVersion VERSION_17
    Java 17 major version.
    Since:
      6.3

  - ### VERSION_18

    public static final JavaVersion VERSION_18
    Java 18 major version.
    Since:
      7.0

  - ### VERSION_19

    public static final JavaVersion VERSION_19
    Java 19 major version.
    Since:
      7.0

  - ### VERSION_20

    public static final JavaVersion VERSION_20
    Java 20 major version.
    Since:
      7.0

  - ### VERSION_21

    public static final JavaVersion VERSION_21
    Java 21 major version.
    Since:
      7.6

  - ### VERSION_22

    public static final JavaVersion VERSION_22
    Java 22 major version.
    Since:
      7.6

  - ### VERSION_23

    public static final JavaVersion VERSION_23
    Java 23 major version.
    Since:
      7.6

  - ### VERSION_24

    public static final JavaVersion VERSION_24
    Java 24 major version.
    Since:
      7.6

  - ### VERSION_25

    public static final JavaVersion VERSION_25
    Java 25 major version.
    Since:
      8.4

  - ### VERSION_26

    public static final JavaVersion VERSION_26
    Java 26 major version.
    Since:
      8.7

  - ### VERSION_27

    @Incubating public static final JavaVersion VERSION_27
    Java 27 major version. Not officially supported by Gradle. Use at your own risk.
    Since:
      8.10

  - ### VERSION_28

    @Incubating public static final JavaVersion VERSION_28
    Java 28 major version. Not officially supported by Gradle. Use at your own risk.
    Since:
      8.14

  - ### VERSION_29

    @Incubating public static final JavaVersion VERSION_29
    Java 29 major version. Not officially supported by Gradle. Use at your own risk.
    Since:
      9.1.0

  - ### VERSION_30

    @Incubating public static final JavaVersion VERSION_30
    Java 30 major version. Not officially supported by Gradle. Use at your own risk.
    Since:
      9.4.0

  - ### VERSION_HIGHER

    public static final JavaVersion VERSION_HIGHER
    Higher version of Java.
    Since:
      4.7

- ## Method Details

  - ### values

    public static JavaVersion[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.
    Returns:
      an array containing the constants of this enum type, in the order they are declared

  - ### valueOf

    public static JavaVersion valueOf(String name)
    Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum type has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### toVersion

    public static JavaVersion toVersion(Object value) throws IllegalArgumentException
    Converts the given object into a `JavaVersion`.
    Parameters:
      `value` - An object whose toString() value is to be converted. May be null.
    Returns:
      The version, or null if the provided value is null.
    Throws:
      `IllegalArgumentException` - when the provided value cannot be converted.

  - ### current

    public static JavaVersion current()
    Returns the version of the current JVM.
    Returns:
      The version of the current JVM.

  - ### resetCurrent

    static void resetCurrent()

  - ### forClassVersion

    public static JavaVersion forClassVersion(int classVersion)

  - ### toClassVersion

    public int toClassVersion()
    Returns the JVM class file major version for this Java version.
    Returns:
      The JVM class file major version for this Java version.
    Since:
      9.5.0

  - ### forClass

    public static JavaVersion forClass(byte[] classData)

  - ### isJava5

    public boolean isJava5()

  - ### isJava6

    public boolean isJava6()

  - ### isJava7

    public boolean isJava7()

  - ### isJava8

    public boolean isJava8()

  - ### isJava9

    public boolean isJava9()

  - ### isJava10

    public boolean isJava10()

  - ### isJava11

    public boolean isJava11()
    Returns if the version is Java 11.
    Since:
      4.7

  - ### isJava12

    public boolean isJava12()
    Returns if the version is Java 12.
    Since:
      5.0

  - ### isJava5Compatible

    public boolean isJava5Compatible()

  - ### isJava6Compatible

    public boolean isJava6Compatible()

  - ### isJava7Compatible

    public boolean isJava7Compatible()

  - ### isJava8Compatible

    public boolean isJava8Compatible()

  - ### isJava9Compatible

    public boolean isJava9Compatible()

  - ### isJava10Compatible

    public boolean isJava10Compatible()

  - ### isJava11Compatible

    public boolean isJava11Compatible()
    Returns if the version is Java 11 compatible.
    Since:
      4.7

  - ### isJava12Compatible

    public boolean isJava12Compatible()
    Returns if the version is Java 12 compatible.
    Since:
      5.0

  - ### isCompatibleWith

    public boolean isCompatibleWith(JavaVersion otherVersion)
    Returns if this version is compatible with the given version
    Since:
      6.0

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Enum<JavaVersion>`

  - ### getMajorVersion

    public String getMajorVersion()