Enum Class JRE

java.lang.Object
java.lang.Enum<JRE>
org.junit.jupiter.api.condition.JRE
All Implemented Interfaces:
Serializable, Comparable<JRE>, Constable

@API(status=STABLE, since="5.1") public enum JRE extends Enum<JRE>
Enumeration of Java Runtime Environment (JRE) versions.

If the current JRE version can be detected but is not one of the predefined constants in this enum, OTHER will be considered to be the current JRE version.

Since:
5.1
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class Enum

    Enum.EnumDesc<E>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Java 17.
    Java 18.
    Java 19.
    Java 20.
    Java 21.
    Java 22.
    Java 23.
    Java 24.
    Java 25.
    Java 26.
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    Deprecated, for removal: This API element is subject to removal in a future version.
    No longer supported at runtime; please use JAVA_17 or later
    An undefined JRE version.
  • Method Summary

    Modifier and Type
    Method
    Description
    static JRE
    Returns the JRE for the currently executing JVM, potentially OTHER.
    static JRE
    Deprecated.
    in favor of currentJre()
    static int
    Returns the version number for the currently executing JVM, or -1 if the current JVM version could not be determined.
    boolean
    Returns true if this JRE is known to be the Java Runtime Environment version for the currently executing JVM or if the version is OTHER.
    static boolean
    isCurrentVersion(int version)
    Returns true if the supplied version number is known to be the Java Runtime Environment version for the currently executing JVM or if the supplied version number is -1 and the current JVM version could not be determined.
    static JRE
    Returns the enum constant of this class with the specified name.
    static JRE[]
    Returns an array containing the constants of this enum class, in the order they are declared.
    int
    Get the version of this JRE.

    Methods inherited from class Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

    • UNDEFINED

      @API(status=MAINTAINED, since="5.13.3") public static final JRE UNDEFINED
      An undefined JRE version.

      This constant is used by JUnit as a default configuration value but is not intended to be used by users.

      This constant returns -1 for its version.

      Since:
      5.12
    • JAVA_8

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_8
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 8.
    • JAVA_9

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_9
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 9.
    • JAVA_10

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_10
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 10.
    • JAVA_11

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_11
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 11.
    • JAVA_12

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_12
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 12.
      Since:
      5.4
    • JAVA_13

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_13
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 13.
      Since:
      5.4
    • JAVA_14

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_14
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 14.
      Since:
      5.5
    • JAVA_15

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_15
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 15.
      Since:
      5.6
    • JAVA_16

      @API(status=DEPRECATED, since="6.0") @Deprecated(since="6.0", forRemoval=true) public static final JRE JAVA_16
      Deprecated, for removal: This API element is subject to removal in a future version.
      No longer supported at runtime; please use JAVA_17 or later
      Java 16.
      Since:
      5.7
    • JAVA_17

      @API(status=STABLE, since="5.7.1") public static final JRE JAVA_17
      Java 17.
      Since:
      5.7.1
    • JAVA_18

      @API(status=STABLE, since="5.8.1") public static final JRE JAVA_18
      Java 18.
      Since:
      5.8.1
    • JAVA_19

      @API(status=STABLE, since="5.9") public static final JRE JAVA_19
      Java 19.
      Since:
      5.9
    • JAVA_20

      @API(status=STABLE, since="5.9") public static final JRE JAVA_20
      Java 20.
      Since:
      5.9
    • JAVA_21

      @API(status=STABLE, since="5.9.2") public static final JRE JAVA_21
      Java 21.
      Since:
      5.9.2
    • JAVA_22

      @API(status=STABLE, since="5.10") public static final JRE JAVA_22
      Java 22.
      Since:
      5.10
    • JAVA_23

      @API(status=STABLE, since="5.11") public static final JRE JAVA_23
      Java 23.
      Since:
      5.11
    • JAVA_24

      @API(status=STABLE, since="5.11") public static final JRE JAVA_24
      Java 24.
      Since:
      5.11
    • JAVA_25

      @API(status=STABLE, since="5.11.4") public static final JRE JAVA_25
      Java 25.
      Since:
      5.11.4
    • JAVA_26

      @API(status=STABLE, since="5.13.2") public static final JRE JAVA_26
      Java 26.
      Since:
      5.13.2
    • OTHER

      public static final JRE OTHER
      A JRE version other than JAVA_8, JAVA_9, JAVA_10, JAVA_11, JAVA_12, JAVA_13, JAVA_14, JAVA_15, JAVA_16, JAVA_17, JAVA_18, JAVA_19, JAVA_20, JAVA_21, JAVA_22, JAVA_23, JAVA_24, JAVA_25, or JAVA_26.

      This constant returns Integer.MAX_VALUE for its version. To retrieve the actual version number, use currentVersionNumber().

  • Method Details

    • values

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

      public static JRE valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (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 class has no constant with the specified name
      NullPointerException - if the argument is null
    • version

      @API(status=MAINTAINED, since="5.13.3") public int version()
      Get the version of this JRE.

      If this JRE is UNDEFINED, this method returns -1. If this JRE is OTHER, this method returns Integer.MAX_VALUE.

      Returns:
      the version of this JRE
      Since:
      5.12
      See Also:
    • isCurrentVersion

      public boolean isCurrentVersion()
      Returns true if this JRE is known to be the Java Runtime Environment version for the currently executing JVM or if the version is OTHER.
      Returns:
      true if this JRE is known to be the Java Runtime Environment version for the currently executing JVM or if the version is OTHER
      See Also:
    • currentVersion

      @API(status=DEPRECATED, since="5.12") @Deprecated(since="5.12") public static JRE currentVersion()
      Deprecated.
      in favor of currentJre()
      Returns the JRE for the currently executing JVM, potentially OTHER.
      Returns:
      the JRE for the currently executing JVM, potentially OTHER
      Since:
      5.7
      See Also:
    • currentJre

      @API(status=STABLE, since="5.12") public static JRE currentJre()
      Returns the JRE for the currently executing JVM, potentially OTHER.
      Returns:
      the JRE for the currently executing JVM, potentially OTHER
      Since:
      5.12
      See Also:
    • currentVersionNumber

      @API(status=MAINTAINED, since="5.13.3") public static int currentVersionNumber()
      Returns the version number for the currently executing JVM, or -1 if the current JVM version could not be determined.
      Returns:
      the version number for the currently executing JVM, or -1 if the current JVM version could not be determined
      Since:
      5.12
      See Also:
    • isCurrentVersion

      @API(status=MAINTAINED, since="5.13.3") public static boolean isCurrentVersion(int version)
      Returns true if the supplied version number is known to be the Java Runtime Environment version for the currently executing JVM or if the supplied version number is -1 and the current JVM version could not be determined.
      Returns:
      true if the supplied version number is known to be the Java Runtime Environment version for the currently executing JVM or if the supplied version number is -1 and the current JVM version could not be determined
      Since:
      5.12
      See Also: