Package io.jenkins.lib.versionnumber
Class JavaSpecificationVersion
- java.lang.Object
-
- hudson.util.VersionNumber
-
- io.jenkins.lib.versionnumber.JavaSpecificationVersion
-
- All Implemented Interfaces:
Comparable<VersionNumber>
public class JavaSpecificationVersion extends VersionNumber
Java Version Specification. Implemented according to JEP 223- Since:
- 1.6
- Author:
- Oleg Nenashev
-
-
Field Summary
Fields Modifier and Type Field Description static JavaSpecificationVersion
JAVA_10
static JavaSpecificationVersion
JAVA_11
static JavaSpecificationVersion
JAVA_12
static JavaSpecificationVersion
JAVA_13
static JavaSpecificationVersion
JAVA_5
static JavaSpecificationVersion
JAVA_6
static JavaSpecificationVersion
JAVA_7
static JavaSpecificationVersion
JAVA_8
static JavaSpecificationVersion
JAVA_9
-
Fields inherited from class hudson.util.VersionNumber
DESCENDING
-
-
Constructor Summary
Constructors Constructor Description JavaSpecificationVersion(String version)
Constructor which automatically normalizes version strings.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static JavaSpecificationVersion
forCurrentJVM()
Get the Java Specification version for the current JVMstatic JavaSpecificationVersion
fromClassVersion(int classVersion)
Given a class file version, get the correspondingJavaSpecificationVersion
.static JavaSpecificationVersion
fromReleaseVersion(int releaseVersion)
Given a release version, get the correspondingJavaSpecificationVersion
.int
toClassVersion()
Get the corresponding class file version.int
toReleaseVersion()
Get the corresponding release version.-
Methods inherited from class hudson.util.VersionNumber
compareTo, digit, equals, getDigitAt, hashCode, isNewerThan, isNewerThanOrEqualTo, isOlderThan, isOlderThanOrEqualTo, toString
-
-
-
-
Field Detail
-
JAVA_5
public static final JavaSpecificationVersion JAVA_5
-
JAVA_6
public static final JavaSpecificationVersion JAVA_6
-
JAVA_7
public static final JavaSpecificationVersion JAVA_7
-
JAVA_8
public static final JavaSpecificationVersion JAVA_8
-
JAVA_9
public static final JavaSpecificationVersion JAVA_9
-
JAVA_10
public static final JavaSpecificationVersion JAVA_10
-
JAVA_11
public static final JavaSpecificationVersion JAVA_11
-
JAVA_12
public static final JavaSpecificationVersion JAVA_12
-
JAVA_13
public static final JavaSpecificationVersion JAVA_13
-
-
Constructor Detail
-
JavaSpecificationVersion
public JavaSpecificationVersion(@NonNull String version) throws NumberFormatException
Constructor which automatically normalizes version strings.- Parameters:
version
- Java specification version, should follow JEP-223 or the previous format.- Throws:
NumberFormatException
- Illegal Java specification version number
-
-
Method Detail
-
fromReleaseVersion
public static JavaSpecificationVersion fromReleaseVersion(int releaseVersion)
Given a release version, get the correspondingJavaSpecificationVersion
.- Parameters:
releaseVersion
- The release version; e.g., 8, 11, or 17.- Returns:
- The
JavaSpecificationVersion
; e.g., 1.8, 11, or 17.
-
toReleaseVersion
public int toReleaseVersion()
Get the corresponding release version.- Returns:
- The release version; e.g., 8, 11, or 17.
-
fromClassVersion
public static JavaSpecificationVersion fromClassVersion(int classVersion)
Given a class file version, get the correspondingJavaSpecificationVersion
.- Parameters:
classVersion
- The class version; e.g., 52, 55, or 61.- Returns:
- The
JavaSpecificationVersion
; e.g., 1.8, 11, or 17. - Throws:
IllegalArgumentException
- If the Java specification version for the given class version is unknown.
-
toClassVersion
public int toClassVersion()
Get the corresponding class file version.- Returns:
- The class file version; e.g., 52, 55, or 61.
- Throws:
IllegalArgumentException
- If the class version for the given Java Specification Version is unknown.
-
forCurrentJVM
@NonNull public static JavaSpecificationVersion forCurrentJVM() throws NumberFormatException
Get the Java Specification version for the current JVM- Returns:
- Java Specification version
- Throws:
NumberFormatException
- Version parsing errorIllegalStateException
- JVM does not specify the mandatoryJAVA_SPEC_VERSION_PROPERTY_NAME
property.
-
-