org.osgi.framework

Class Version

public class Version extends Object implements Comparable

Version identifier for bundles and packages.

Version identifiers have four components.

  1. Major version. A non-negative integer.
  2. Minor version. A non-negative integer.
  3. Micro version. A non-negative integer.
  4. Qualifier. A text string. See Version(String) for the format of the qualifier string.

Version objects are immutable.

Since: 1.3

Version: $Revision: 1.17 $

UNKNOWN:

Field Summary
static VersionemptyVersion
The empty version "0.0.0".
Constructor Summary
Version(int major, int minor, int micro)
Creates a version identifier from the specified numerical components.
Version(int major, int minor, int micro, String qualifier)
Creates a version identifier from the specifed components.
Version(String version)
Created a version identifier from the specified string.
Method Summary
intcompareTo(Object object)
Compares this Version object to another object.
booleanequals(Object object)
Compares this Version object to another object.
intgetMajor()
Returns the major component of this version identifier.
intgetMicro()
Returns the micro component of this version identifier.
intgetMinor()
Returns the minor component of this version identifier.
StringgetQualifier()
Returns the qualifier component of this version identifier.
inthashCode()
Returns a hash code value for the object.
static VersionparseVersion(String version)
Parses a version identifier from the specified string.
StringtoString()
Returns the string representation of this version identifier.

Field Detail

emptyVersion

public static final Version emptyVersion
The empty version "0.0.0". Equivalent to calling new Version(0,0,0).

Constructor Detail

Version

public Version(int major, int minor, int micro)
Creates a version identifier from the specified numerical components.

The qualifier is set to the empty string.

Parameters: major Major component of the version identifier. minor Minor component of the version identifier. micro Micro component of the version identifier.

Throws: IllegalArgumentException If the numerical components are negative.

Version

public Version(int major, int minor, int micro, String qualifier)
Creates a version identifier from the specifed components.

Parameters: major Major component of the version identifier. minor Minor component of the version identifier. micro Micro component of the version identifier. qualifier Qualifier component of the version identifier. If null is specified, then the qualifier will be set to the empty string.

Throws: IllegalArgumentException If the numerical components are negative or the qualifier string is invalid.

Version

public Version(String version)
Created a version identifier from the specified string.

Here is the grammar for version strings.

 version ::= major('.'minor('.'micro('.'qualifier)?)?)?
 major ::= digit+
 minor ::= digit+
 micro ::= digit+
 qualifier ::= (alpha|digit|'_'|'-')+
 digit ::= [0..9]
 alpha ::= [a..zA..Z]
 
There must be no whitespace in version.

Parameters: version String representation of the version identifier.

Throws: IllegalArgumentException If version is improperly formatted.

Method Detail

compareTo

public int compareTo(Object object)
Compares this Version object to another object.

A version is considered to be less than another version if its major component is less than the other version's major component, or the major components are equal and its minor component is less than the other version's minor component, or the major and minor components are equal and its micro component is less than the other version's micro component, or the major, minor and micro components are equal and it's qualifier component is less than the other version's qualifier component (using String.compareTo).

A version is considered to be equal to another version if the major, minor and micro components are equal and the qualifier component is equal (using String.compareTo).

Parameters: object The Version object to be compared.

Returns: A negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified Version object.

Throws: ClassCastException If the specified object is not a Version.

equals

public boolean equals(Object object)
Compares this Version object to another object.

A version is considered to be equal to another version if the major, minor and micro components are equal and the qualifier component is equal (using String.equals).

Parameters: object The Version object to be compared.

Returns: true if object is a Version and is equal to this object; false otherwise.

getMajor

public int getMajor()
Returns the major component of this version identifier.

Returns: The major component.

getMicro

public int getMicro()
Returns the micro component of this version identifier.

Returns: The micro component.

getMinor

public int getMinor()
Returns the minor component of this version identifier.

Returns: The minor component.

getQualifier

public String getQualifier()
Returns the qualifier component of this version identifier.

Returns: The qualifier component.

hashCode

public int hashCode()
Returns a hash code value for the object.

Returns: An integer which is a hash code value for this object.

parseVersion

public static Version parseVersion(String version)
Parses a version identifier from the specified string.

See Version(String) for the format of the version string.

Parameters: version String representation of the version identifier. Leading and trailing whitespace will be ignored.

Returns: A Version object representing the version identifier. If version is null or the empty string then emptyVersion will be returned.

Throws: IllegalArgumentException If version is improperly formatted.

toString

public String toString()
Returns the string representation of this version identifier.

The format of the version string will be major.minor.micro if qualifier is the empty string or major.minor.micro.qualifier otherwise.

Returns: The string representation of this version identifier.