Package org.sonar.api.utils
Class Version
- java.lang.Object
-
- org.sonar.api.utils.Version
-
- All Implemented Interfaces:
java.lang.Comparable<Version>
@Immutable public class Version extends java.lang.Object implements java.lang.Comparable<Version>
Version composed of maximum four fields (major, minor, patch and build ID numbers) and optionally a qualifier.Examples: 1.0, 1.0.0, 1.2.3, 1.2-beta1, 1.2.1-beta-1, 1.2.3.4567
IMPORTANT NOTE
Qualifier is ignored when comparing objects (methodsequals(Object),hashCode()andcompareTo(Version)).assertThat(Version.parse("1.2")).isEqualTo(Version.parse("1.2-beta1")); assertThat(Version.parse("1.2").compareTo(Version.parse("1.2-beta1"))).isZero();- Since:
- 5.5
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description longbuildNumber()Build number if the fourth field, for example12345for "6.3.0.12345".intcompareTo(Version other)static Versioncreate(int major, int minor)static Versioncreate(int major, int minor, int patch)static Versioncreate(int major, int minor, int patch, java.lang.String qualifier)Deprecated.in 6.3 to avoid ambiguity with build number (seebuildNumber()booleanequals(java.lang.Object o)inthashCode()booleanisGreaterThanOrEqual(Version than)intmajor()intminor()static Versionparse(java.lang.String text)Convert aStringto a Version.intpatch()java.lang.Stringqualifier()java.lang.StringtoString()
-
-
-
Method Detail
-
major
public int major()
-
minor
public int minor()
-
patch
public int patch()
-
buildNumber
public long buildNumber()
Build number if the fourth field, for example12345for "6.3.0.12345". If absent, then value is zero.- Since:
- 6.3
-
qualifier
public java.lang.String qualifier()
- Returns:
- non-null suffix. Empty if absent, else the suffix without the first character "-"
-
parse
public static Version parse(java.lang.String text)
Convert aStringto a Version. Supported formats:- 1
- 1.2
- 1.2.3
- 1-beta-1
- 1.2-beta-1
- 1.2.3-beta-1
- 1.2.3.4567
- 1.2.3.4567-beta-1
- Throws:
java.lang.IllegalArgumentException- if parameter is badly formatted, for example if it defines 5 integer-sequences.
-
create
public static Version create(int major, int minor)
-
create
public static Version create(int major, int minor, int patch)
-
create
@Deprecated public static Version create(int major, int minor, int patch, java.lang.String qualifier)
Deprecated.in 6.3 to avoid ambiguity with build number (seebuildNumber()
-
isGreaterThanOrEqual
public boolean isGreaterThanOrEqual(Version than)
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
compareTo
public int compareTo(Version other)
- Specified by:
compareToin interfacejava.lang.Comparable<Version>
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-