JavaVersion
Date: 2017-02-08

org.apache.commons.lang3

## Enum JavaVersion

- java.lang.Object
- - java.lang.Enum<JavaVersion>
  - - org.apache.commons.lang3.JavaVersion

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

      public enum JavaVersion
      extends java.lang.Enum<JavaVersion>

  An enum representing all the versions of the Java specification. This is intended to mirror available values from the java.specification.version System property.

  Since:
    3.0

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `JAVA_0_9` The Java version reported by Android.
    `JAVA_1_1` Java 1.1.
    `JAVA_1_2` Java 1.2.
    `JAVA_1_3` Java 1.3.
    `JAVA_1_4` Java 1.4.
    `JAVA_1_5` Java 1.5.
    `JAVA_1_6` Java 1.6.
    `JAVA_1_7` Java 1.7.
    `JAVA_1_8` Java 1.8.
    `JAVA_1_9` Deprecated. As of release 3.5, replaced by `JAVA_9`
    `JAVA_9` Java 9
    `JAVA_RECENT` The most recent java version.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `atLeast(JavaVersion requiredVersion)` Whether this version of Java is at least the version of Java passed in.
    `java.lang.String` | `toString()` The string value is overridden to return the standard name.
    `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

    - #### JAVA_0_9

          public static final JavaVersion JAVA_0_9

      The Java version reported by Android. This is not an official Java version number.

    - #### JAVA_1_1

          public static final JavaVersion JAVA_1_1

      Java 1.1.

    - #### JAVA_1_2

          public static final JavaVersion JAVA_1_2

      Java 1.2.

    - #### JAVA_1_3

          public static final JavaVersion JAVA_1_3

      Java 1.3.

    - #### JAVA_1_4

          public static final JavaVersion JAVA_1_4

      Java 1.4.

    - #### JAVA_1_5

          public static final JavaVersion JAVA_1_5

      Java 1.5.

    - #### JAVA_1_6

          public static final JavaVersion JAVA_1_6

      Java 1.6.

    - #### JAVA_1_7

          public static final JavaVersion JAVA_1_7

      Java 1.7.

    - #### JAVA_1_8

          public static final JavaVersion JAVA_1_8

      Java 1.8.

    - #### JAVA_1_9

          public static final JavaVersion JAVA_1_9

      Deprecated. As of release 3.5, replaced by `JAVA_9`
      Java 1.9.

    - #### JAVA_9

          public static final JavaVersion JAVA_9

      Java 9

    - #### JAVA_RECENT

          public static final JavaVersion JAVA_RECENT

      The most recent java version. Mainly introduced to avoid to break when a new version of Java is used.

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

    - #### atLeast

          public boolean atLeast(JavaVersion requiredVersion)

      Whether this version of Java is at least the version of Java passed in.

      For example:
      `myVersion.atLeast(JavaVersion.JAVA_1_4)`

      Parameters:
        `requiredVersion` - the version to check against, not null
      Returns:
        true if this version is equal to or greater than the specified version

    - #### toString

          public java.lang.String toString()

      The string value is overridden to return the standard name.

      For example, `"1.5"`.

      Overrides:
        `toString` in class `java.lang.Enum<JavaVersion>`
      Returns:
        the name, not null