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. If the current JRE version cannot be detected — for example, if the java.version JVM system property is undefined — UNDEFINED will be considered to be the current JRE version.

Since:
5.1
See Also:
  • Enum Constant Details

    • UNDEFINED

      @API(status=EXPERIMENTAL, since="5.12") 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

      public static final JRE JAVA_8
      Java 8.
    • JAVA_9

      public static final JRE JAVA_9
      Java 9.
    • JAVA_10

      public static final JRE JAVA_10
      Java 10.
    • JAVA_11

      public static final JRE JAVA_11
      Java 11.
    • JAVA_12

      @API(status=STABLE, since="5.4") public static final JRE JAVA_12
      Java 12.
      Since:
      5.4
    • JAVA_13

      @API(status=STABLE, since="5.4") public static final JRE JAVA_13
      Java 13.
      Since:
      5.4
    • JAVA_14

      @API(status=STABLE, since="5.5") public static final JRE JAVA_14
      Java 14.
      Since:
      5.5
    • JAVA_15

      @API(status=STABLE, since="5.6") public static final JRE JAVA_15
      Java 15.
      Since:
      5.6
    • JAVA_16

      @API(status=STABLE, since="5.7") public static final JRE JAVA_16
      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
    • 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, or JAVA_25.

      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=EXPERIMENTAL, since="5.12") 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 or UNDEFINED
      See Also:
    • currentVersion

      @API(status=DEPRECATED, since="5.12") @Deprecated public static JRE currentVersion()
      Deprecated.
      in favor of currentJre()
      Returns:
      the JRE for the currently executing JVM, potentially OTHER or UNDEFINED
      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 or UNDEFINED
      Since:
      5.12
      See Also:
    • currentVersionNumber

      @API(status=EXPERIMENTAL, since="5.12") public static int currentVersionNumber()
      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=EXPERIMENTAL, since="5.12") 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
      Since:
      5.12
      See Also: