Class Version
- All Implemented Interfaces:
Comparable<Version>
Used to compare version numbers.
Equality vs. matching:
equals(Object), hashCode() and compareTo(Version) are strict and
mutually consistent — two versions are only equal when their full part sequences are identical
(e.g. matches(Version).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintbooleanReturns the maintenance version part (i.e. part at index 2).getMajor()Returns the major version part (i.e. part at index 0).getMinor()Returns the minor version part (i.e. part at index 1).getPart(int index) Returns the version part at the specified zero-indexed value.inthashCode()booleanReturnstrue if the specified version is at least this version.booleanReturnstrue if the specified version is at least this version.booleanReturnstrue if the specified version is at most this version.booleanReturnstrue if the specified version is at most this version.booleanReturnstrue if this version matches the specified version, comparing only the parts they have in common (i.e. one version is a prefix of the other).static VersionStatic creator.toString()
-
Constructor Details
-
Version
Constructor- Parameters:
value- A string of the form"#.#..." where there can be any number of parts.
Valid values:"1.2" "1.2.3" "0.1" ".1"
Integer.MAX_VALUE
Can benull or empty (treated as version"0" ).
-
-
Method Details
-
of
Static creator.- Parameters:
value- A string of the form"#.#..." where there can be any number of parts.
Valid values:"1.2" "1.2.3" "0.1" ".1"
Can benull .- Returns:
- A new header bean, or
null if the value isnull .
-
compareTo
- Specified by:
compareToin interfaceComparable<Version>
-
equals
-
getMaintenance
Returns the maintenance version part (i.e. part at index 2).- Returns:
- The version part, never
null .
-
getMajor
Returns the major version part (i.e. part at index 0).- Returns:
- The version part, never
null .
-
getMinor
Returns the minor version part (i.e. part at index 1).- Returns:
- The version part, never
null .
-
getPart
Returns the version part at the specified zero-indexed value.- Parameters:
index- The index of the version part.- Returns:
- The version part, never
null .
-
hashCode
-
isAtLeast
Returnstrue if the specified version is at least this version.Example:
assertTrue (Version.of ("1.2" ).isAtLeast(Version.of ("1" )));assertFalse (Version.of ("1.2" ).isAtLeast(Version.of ("2" )));assertTrue (Version.of ("1.2" ).isAtLeast(Version.of ("1.2.3" )));assertFalse (Version.of ("1.2.0" ).isAtLeast(Version.of ("1.2.3" )));- Parameters:
v- The version to compare to. Must not benull .- Returns:
true if the specified version is at least this version.
-
isAtLeast
Returnstrue if the specified version is at least this version.Example:
assertTrue (Version.of ("1.2.3" ).isAtLeast(Version.of ("1.2.3" ,false )));assertFalse (Version.of ("1.2.3" ).isAtLeast(Version.of ("1.2.3" ,true )));- Parameters:
v- The version to compare to. Must not benull .exclusive- Match down-to-version but not including.- Returns:
true if the specified version is at least this version.
-
isAtMost
Returnstrue if the specified version is at most this version.Example:
assertFalse (Version.of ("1.2.3" ).isAtMost(Version.of ("1" )));assertTrue (Version.of ("1.2.3" ).isAtMost(Version.of ("2" )));assertTrue (Version.of ("1.2.3" ).isAtMost(Version.of ("1.2" )));assertFalse (Version.of ("1.2.3" ).isAtMost(Version.of ("1.2.0" )));- Parameters:
v- The version to compare to. Must not benull .- Returns:
true if the specified version is at most this version.
-
isAtMost
Returnstrue if the specified version is at most this version.Example:
assertTrue (Version.of ("1.2.3" ).isAtMost(Version.of ("1.2.3" ,false )));assertFalse (Version.of ("1.2.3" ).isAtMost(Version.of ("1.2.3" ,true )));- Parameters:
v- The version to compare to. Must not benull .exclusive- Match up-to-version but not including.- Returns:
true if the specified version is at most this version.
-
matches
Returnstrue if this version matches the specified version, comparing only the parts they have in common (i.e. one version is a prefix of the other).This is a looser comparison than
equals(Object), which requires the full version part sequences to be identical. Two versions match when every part up to the length of the shorter version is identical; any trailing parts on the longer version are ignored. Unlikeequals(Object), this relation is not consistent withhashCode()and must never be used as the basis for hash- or tree-based collection membership.Example:
assertTrue (Version.of ("1.2.3" ).matches(Version.of ("1.2.3" )));assertTrue (Version.of ("1.2.3" ).matches(Version.of ("1.2" )));assertTrue (Version.of ("1.2" ).matches(Version.of ("1.2.3" )));assertFalse (Version.of ("1.2.3" ).matches(Version.of ("1.2.4" )));- Parameters:
v- The version to compare to. Must not benull .- Returns:
true if this version matches the specified version on their common parts.
-
toString
-