Enum JavaVersion

java.lang.Object
java.lang.Enum<JavaVersion>
org.apache.commons.lang3.JavaVersion
All Implemented Interfaces:
Serializable, Comparable<JavaVersion>

public enum JavaVersion extends 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 Details

    • 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

      @Deprecated 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.
      Since:
      3.5
    • JAVA_10

      public static final JavaVersion JAVA_10
      Java 10.
      Since:
      3.7
    • JAVA_11

      public static final JavaVersion JAVA_11
      Java 11.
      Since:
      3.8
    • JAVA_12

      public static final JavaVersion JAVA_12
      Java 12.
      Since:
      3.9
    • JAVA_13

      public static final JavaVersion JAVA_13
      Java 13.
      Since:
      3.9
    • JAVA_14

      public static final JavaVersion JAVA_14
      Java 14.
      Since:
      3.11
    • JAVA_15

      public static final JavaVersion JAVA_15
      Java 15.
      Since:
      3.11
    • JAVA_16

      public static final JavaVersion JAVA_16
      Java 16.
      Since:
      3.11
    • JAVA_17

      public static final JavaVersion JAVA_17
      Java 17.
      Since:
      3.12.0
    • JAVA_18

      public static final JavaVersion JAVA_18
      Java 18.
      Since:
      3.13.0
    • JAVA_19

      public static final JavaVersion JAVA_19
      Java 19.
      Since:
      3.13.0
    • JAVA_20

      public static final JavaVersion JAVA_20
      Java 20.
      Since:
      3.13.0
    • JAVA_21

      public static final JavaVersion JAVA_21
      Java 21.
      Since:
      3.13.0
    • JAVA_22

      public static final JavaVersion JAVA_22
      Java 22.
      Since:
      3.15.0
    • 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.
  • Field Details

    • VERSION_SPLIT_REGEX

      private static final String VERSION_SPLIT_REGEX
      The regex to split version strings.
      See Also:
    • value

      private final float value
      The float value.
    • name

      private final String name
      The standard name.
  • Constructor Details

    • JavaVersion

      private JavaVersion(float value, String name)
      Constructs a new instance.
      Parameters:
      value - the float value
      name - the standard name, not null
  • 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
    • get

      static JavaVersion get(String versionStr)
      Transforms the given string with a Java version number to the corresponding constant of this enumeration class. This method is used internally.
      Parameters:
      versionStr - the Java version as string
      Returns:
      the corresponding enumeration constant or null if the version is unknown
    • getJavaVersion

      static JavaVersion getJavaVersion(String versionStr)
      Transforms the given string with a Java version number to the corresponding constant of this enumeration class. This method is used internally.
      Parameters:
      versionStr - the Java version as string
      Returns:
      the corresponding enumeration constant or null if the version is unknown
    • maxVersion

      private static float maxVersion()
      Gets the Java Version from the system or 99.0 if the java.specification.version system property is not set.
      Returns:
      the value of java.specification.version system property or 99.0 if it is not set.
    • split

      static String[] split(String value)
    • toFloatVersion

      private static float toFloatVersion(String value)
      Parses a float value from a String.
      Parameters:
      value - the String to parse.
      Returns:
      the float value represented by the string or -1 if the given String can not be parsed.
    • atLeast

      public boolean atLeast(JavaVersion requiredVersion)
      Tests 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
    • atMost

      public boolean atMost(JavaVersion requiredVersion)
      Tests whether this version of Java is at most the version of Java passed in.

      For example:
      myVersion.atMost(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
      Since:
      3.9
    • toString

      public String toString()
      The string value is overridden to return the standard name.

      For example, "1.5".

      Overrides:
      toString in class Enum<JavaVersion>
      Returns:
      the name, not null