org.gradle.api

## Enum JavaVersion

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

- All Implemented Interfaces:
    Serializable, Comparable<JavaVersion>

      public enum JavaVersion
      extends Enum<JavaVersion>

  An enumeration of Java versions.

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and 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`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static JavaVersion` | `current()` Returns the version of the current JVM.
    `static JavaVersion` | `forClass(byte[] classData)`
    `static JavaVersion` | `forClassVersion(int classVersion)`
    `String` | `getMajorVersion()`
    `boolean` | `isJava10Compatible()`
    `boolean` | `isJava5()`
    `boolean` | `isJava5Compatible()`
    `boolean` | `isJava6()`
    `boolean` | `isJava6Compatible()`
    `boolean` | `isJava7()`
    `boolean` | `isJava7Compatible()`
    `boolean` | `isJava8Compatible()`
    `boolean` | `isJava9Compatible()`
    `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 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

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

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

    - #### isJava5Compatible

          public boolean isJava5Compatible()

    - #### isJava6Compatible

          public boolean isJava6Compatible()

    - #### isJava7Compatible

          public boolean isJava7Compatible()

    - #### isJava8Compatible

          public boolean isJava8Compatible()

    - #### isJava9Compatible

          public boolean isJava9Compatible()

    - #### isJava10Compatible

          @Incubating
          public boolean isJava10Compatible()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Enum<JavaVersion>`

    - #### getMajorVersion

          public String getMajorVersion()