Package org.gradle.api

## Enum JavaVersion

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

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.Comparable<JavaVersion>`

      public enum JavaVersion
      extends java.lang.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

- - ### 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_HIGHER` | Higher version of Java.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    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)` |
    `java.lang.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()` |
    `java.lang.String` | `toString()` |
    `static JavaVersion` | `toVersion​(java.lang.Object value)` | Converts the given object into a `JavaVersion`.
    `static JavaVersion` | `valueOf​(java.lang.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 java.lang.Enum

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Enum Constant Detail

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

          @Incubating
          public static final JavaVersion VERSION_21

      Java 21 major version. Not officially supported by Gradle. Use at your own risk.
      Since:
        7.6

    - #### VERSION_22

          @Incubating
          public static final JavaVersion VERSION_22

      Java 22 major version. Not officially supported by Gradle. Use at your own risk.
      Since:
        7.6

    - #### VERSION_23

          @Incubating
          public static final JavaVersion VERSION_23

      Java 23 major version. Not officially supported by Gradle. Use at your own risk.
      Since:
        7.6

    - #### VERSION_24

          @Incubating
          public static final JavaVersion VERSION_24

      Java 24 major version. Not officially supported by Gradle. Use at your own risk.
      Since:
        7.6

    - #### VERSION_HIGHER

          public static final JavaVersion VERSION_HIGHER

      Higher version of Java.
      Since:
        4.7

  - ### Method Detail

    - #### values

          public static JavaVersion[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (JavaVersion c : JavaVersion.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static JavaVersion valueOf​(java.lang.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:
        `java.lang.IllegalArgumentException` - if this enum type has no constant with the specified name
        `java.lang.NullPointerException` - if the argument is null

    - #### toVersion

          public static JavaVersion toVersion​(java.lang.Object value)
                                       throws java.lang.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:
        `java.lang.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.

    - #### forClassVersion

          public static JavaVersion forClassVersion​(int classVersion)

    - #### 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 java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Enum<JavaVersion>`

    - #### getMajorVersion

          public java.lang.String getMajorVersion()