Class 
Use 
SUMMARY: NESTED | FIELD | CONSTR | METHOD      DETAIL: FIELD | CONSTR | METHOD
FlexDoc/Javadoc 2.0
Demo Java Doc

java.base / java.lang
Class Runtime.Version
java.lang.Object
  java.lang.Runtime.Version
All Implemented Interfaces:
Comparable<Runtime.Version>
Enclosing class:
Runtime

public static final class Runtime.Version
extends Object
implements Comparable<Runtime.Version>
A representation of a version string for an implementation of the Java SE Platform. A version string consists of a version number optionally followed by pre-release and build information.

Version numbers

A version number, $VNUM, is a non-empty sequence of elements separated by period characters (U+002E). An element is either zero, or an unsigned integer numeral without leading zeros. The final element in a version number must not be zero. When an element is incremented, all subsequent elements are removed. The format is:

 [1-9][0-9]*((\.0)*\.[1-9][0-9]*)*
 

The sequence may be of arbitrary length but the first four elements are assigned specific meanings, as follows:

 $FEATURE.$INTERIM.$UPDATE.$PATCH
 

The fifth and later elements of a version number are free for use by platform implementors, to identify implementor-specific patch releases.

A version number never has trailing zero elements. If an element and all those that follow it logically have the value zero then all of them are omitted.

The sequence of numerals in a version number is compared to another such sequence in numerical, pointwise fashion; e.g., 10.0.4 is less than 10.1.2. If one sequence is shorter than another then the missing elements of the shorter sequence are considered to be less than the corresponding elements of the longer sequence; e.g., 10.0.2 is less than 10.0.2.1.

Version strings

A version string, $VSTR, is a version number $VNUM, as described above, optionally followed by pre-release and build information, in one of the following formats:

     $VNUM(-$PRE)?\+$BUILD(-$OPT)?
     $VNUM-$PRE(-$OPT)?
     $VNUM(\+-$OPT)?
 

where:

A version string 10-ea matches $VNUM = "10" and $PRE = "ea". The version string 10+-ea matches $VNUM = "10" and $OPT = "ea".

When comparing two version strings, the value of $OPT, if present, may or may not be significant depending on the chosen comparison method. The comparison methods compareTo() and compareToIgnoreOptional() should be used consistently with the corresponding methods equals() and equalsIgnoreOptional().

A short version string, $SVSTR, often useful in less formal contexts, is a version number optionally followed by a pre-release identifier:

     $VNUM(-$PRE)?
 

This is a value-based class; programmers should treat instances that are equal as interchangeable and should not use instances for synchronization, or unpredictable behavior may occur. For example, in a future release, synchronization may fail.

Since:
9

Method Summary
Returns the build number.
int
Compares this version to another.
int
Compares this version to another disregarding optional build information.
boolean
Determines whether this Version is equal to another object.
boolean
Determines whether this Version is equal to another disregarding optional build information.
int
Returns the value of the feature element of the version number.
int
Returns the hash code of this version.
int
Returns the value of the interim element of the version number, or zero if it is absent.
int
Deprecated. As of Java SE 10, the first element of a version number is not the major-release number but the feature-release counter, incremented for every time-based release.
int
Deprecated. As of Java SE 10, the second element of a version number is not the minor-release number but the interim-release counter, incremented for every interim release.
Returns optional additional identifying build information.
Parses the given string as a valid version string containing a version number followed by pre-release and build information.
int
Returns the value of the patch element of the version number, or zero if it is absent.
pre()
Returns the optional pre-release information.
int
Deprecated. As of Java SE 10, the third element of a version number is not the security level but the update-release counter, incremented for every update release.
Returns a string representation of this version.
int
Returns the value of the update element of the version number, or zero if it is absent.
Returns an unmodifiable List of the integers represented in the version number.
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Method Detail
parse
public static Runtime.Version parse
(String s)
Parses the given string as a valid version string containing a version number followed by pre-release and build information.
Parameters:
s - A string to interpret as a version
Returns:
The Version of the given string
Throws:
IllegalArgumentException - If the given string cannot be interpreted as a valid version
NullPointerException - If the given string is null
NumberFormatException - If an element of the version number or the build number cannot be represented as an Integer

feature
public int feature
()
Returns the value of the feature element of the version number.
Returns:
The value of the feature element
Since:
10

interim
public int interim
()
Returns the value of the interim element of the version number, or zero if it is absent.
Returns:
The value of the interim element, or zero
Since:
10

update
public int update
()
Returns the value of the update element of the version number, or zero if it is absent.
Returns:
The value of the update element, or zero
Since:
10

patch
public int patch
()
Returns the value of the patch element of the version number, or zero if it is absent.
Returns:
The value of the patch element, or zero
Since:
10

major
@Deprecated("10")
public int major
()
Deprecated. As of Java SE 10, the first element of a version number is not the major-release number but the feature-release counter, incremented for every time-based release. Use the feature() method in preference to this method. For compatibility, this method returns the value of the feature element.
Returns the value of the major element of the version number.
Returns:
The value of the feature element

minor
@Deprecated("10")
public int minor
()
Deprecated. As of Java SE 10, the second element of a version number is not the minor-release number but the interim-release counter, incremented for every interim release. Use the interim() method in preference to this method. For compatibility, this method returns the value of the interim element, or zero if it is absent.
Returns the value of the minor element of the version number, or zero if it is absent.
Returns:
The value of the interim element, or zero

security
@Deprecated("10")
public int security
()
Deprecated. As of Java SE 10, the third element of a version number is not the security level but the update-release counter, incremented for every update release. Use the update() method in preference to this method. For compatibility, this method returns the value of the update element, or zero if it is absent.
Returns the value of the security element of the version number, or zero if it is absent.
Returns:
The value of the update element, or zero

version
public List<Integer> version
()
Returns an unmodifiable List of the integers represented in the version number. The List always contains at least one element corresponding to the feature version number.
Returns:
An unmodifiable list of the integers represented in the version number

pre
public Optional<String> pre
()
Returns the optional pre-release information.
Returns:
The optional pre-release information as a String

build
public Optional<Integer> build
()
Returns the build number.
Returns:
The optional build number.

optional
public Optional<String> optional
()
Returns optional additional identifying build information.
Returns:
Additional build information as a String

compareTo
public int compareTo
Compares this version to another.

Each of the components in the version is compared in the following order of precedence: version numbers, pre-release identifiers, build numbers, optional build information.

Comparison begins by examining the sequence of version numbers. If one sequence is shorter than another, then the missing elements of the shorter sequence are considered to be less than the corresponding elements of the longer sequence.

A version with a pre-release identifier is always considered to be less than a version without one. Pre-release identifiers are compared numerically when they consist only of digits, and lexicographically otherwise. Numeric identifiers are considered to be less than non-numeric identifiers.

A version without a build number is always less than one with a build number; otherwise build numbers are compared numerically.

The optional build information is compared lexicographically. During this comparison, a version with optional build information is considered to be greater than a version without one.

Specified by:
compareTo in interface Comparable<Runtime.Version>
Parameters:
obj - The object to be compared
Returns:
A negative integer, zero, or a positive integer if this Version is less than, equal to, or greater than the given Version
Throws:
NullPointerException - If the given object is null

compareToIgnoreOptional
public int compareToIgnoreOptional
Compares this version to another disregarding optional build information.

Two versions are compared by examining the version string as described in compareTo(Version) with the exception that the optional build information is always ignored.

This method provides ordering which is consistent with equalsIgnoreOptional().

Parameters:
obj - The object to be compared
Returns:
A negative integer, zero, or a positive integer if this Version is less than, equal to, or greater than the given Version
Throws:
NullPointerException - If the given object is null

toString
public String toString
()
Returns a string representation of this version.
Overrides:
toString in class Object
Returns:
The version string

equals
public boolean equals
(Object obj)
Determines whether this Version is equal to another object.

Two Versions are equal if and only if they represent the same version string.

Overrides:
equals in class Object
Parameters:
obj - The object to which this Version is to be compared
Returns:
true if, and only if, the given object is a Version that is identical to this Version
See Also:
Object.hashCode(), HashMap

equalsIgnoreOptional
public boolean equalsIgnoreOptional
(Object obj)
Determines whether this Version is equal to another disregarding optional build information.

Two Versions are equal if and only if they represent the same version string disregarding the optional build information.

Parameters:
obj - The object to which this Version is to be compared
Returns:
true if, and only if, the given object is a Version that is identical to this Version ignoring the optional build information

hashCode
public int hashCode
()
Returns the hash code of this version.
Overrides:
hashCode in class Object
Returns:
The hashcode of this version
See Also:
Object.equals(java.lang.Object), System.identityHashCode(Object)

 Class 
Use 
SUMMARY: NESTED | FIELD | CONSTR | METHOD      DETAIL: FIELD | CONSTR | METHOD
FlexDoc/Javadoc 2.0
Demo Java Doc

Java API documentation generated with FlexDoc/Javadoc 2.0 using JavadocClassic 3.0 template set.
FlexDoc/Javadoc is a template-driven programming tool for rapid development of any Javadoc-based Java API documentation generators (i.e. doclets). If you need to customize your Javadoc without writing a full-blown doclet from scratch, FlexDoc/Javadoc may be the only tool able to help you! Find out more at www.flexdoc.xyz