|
Eclipse Platform Release 3.6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.equinox.p2.metadata.Version
public abstract class Version
A class that represents a Version in the Omni Version format. A Version can be though of as an
array of comparable elements and an optional pad value. The pad value is used when comparing
two versions with a different number of segments.
The Omni Version can convert almost any version into a raw format that it uses for comparisons.
This enables a unified order of all such versions and solves problems that arise when the
version semantics are different. A good example is the OSGi version versus the version used in Maven.
The lack of qualifier in the OSGi version implies that the qualifier is an empty string. So a version
without a qualifier is the smallest of all other versions with the same major,minor,micro number.
With Maven semantics, it's the opposite. If the qualifier is removed, the resulting version is
considered higher then all other versions with the same major, minor, and micro number. The
Omni version solves this by using different raw representations of the OSGi and Maven versions.
The Omni version addresses a lot of other issues as well, such as reordering of the elements
or treating some parts of a version as irrelevant when comparing.
The class is signature compatible with Version
but attempts
to use it as such might render a UnsupportedOperationException
in case the
raw vector holds incompatible values. The method isOSGiCompatible()
can be used
to test.
Field Summary | |
---|---|
static Version |
emptyVersion
The version that is semantically less then all other versions. |
static Version |
MAX_VERSION
The version that is semantically greater then all other versions. |
static String |
RAW_PREFIX
|
Constructor Summary | |
---|---|
Version()
|
Method Summary | |
---|---|
static IVersionFormat |
compile(String format)
Compile a version format string into a compiled format.. |
static Version |
create(String version)
Parses a version identifier from the specified string. |
static Version |
createOSGi(int major,
int minor,
int micro)
Creates an OSGi version identifier from the specified numerical components. |
static Version |
createOSGi(int major,
int minor,
int micro,
String qualifier)
Creates an OSGi version identifier from the specified components. |
abstract IVersionFormat |
getFormat()
Returns the optional format. |
abstract String |
getOriginal()
Returns the original part of the string for this version
or null if no such part was provided when the version was
created. |
abstract Comparable<?> |
getPad()
Returns the pad value used when comparing this versions to versions that has a larger number of segments |
abstract Comparable<?> |
getSegment(int index)
An element from the raw vector representation of this version. |
abstract int |
getSegmentCount()
Returns the number of elements in the raw vector representation of this version. |
abstract boolean |
isOSGiCompatible()
Checks if this version is in compliance with the OSGi version spec. |
static Version |
parseVersion(String version)
Parses a version identifier from the specified string. |
String |
toString()
|
abstract void |
toString(StringBuffer sb)
Appends the string representation of this version onto the sb StringBuffer. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.lang.Comparable |
---|
compareTo |
Field Detail |
---|
public static final String RAW_PREFIX
public static final Version MAX_VERSION
public static final Version emptyVersion
Constructor Detail |
---|
public Version()
Method Detail |
---|
public static IVersionFormat compile(String format) throws VersionFormatException
format
- The format to compile.
VersionFormatException
- If the format could not be compiledpublic static Version create(String version)
version
- String representation of the version identifier. Leading
and trailing whitespace will be ignored.
Version
object representing the version identifier
or null
if version
is null
or
an empty string.
IllegalArgumentException
- If version
is improperly
formatted.public static Version createOSGi(int major, int minor, int micro)
The qualifier is set to the empty string.
major
- Major component of the version identifier.minor
- Minor component of the version identifier.micro
- Micro component of the version identifier.
IllegalArgumentException
- If the numerical components are
negative.public static Version createOSGi(int major, int minor, int micro, String qualifier)
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.
IllegalArgumentException
- If the numerical components are negative
or the qualifier string is invalid.public static Version parseVersion(String version)
null
.
version
- String representation of the version identifier. Leading
and trailing whitespace will be ignored.
Version
object representing the version
identifier. If version
is null
or
the empty string then the OSGi emptyVersion
will be
returned.
IllegalArgumentException
- If version
is improperly
formatted.create(String)
public abstract IVersionFormat getFormat()
public abstract String getOriginal()
original
part of the string for this version
or null
if no such part was provided when the version was
created. An OSGi type version will always return the OSGi string representation.
original
part of the version string or
null
if that part was missing.public abstract Comparable<?> getPad()
null
if not set.public abstract Comparable<?> getSegment(int index)
index
- The zero based index of the desired element
public abstract int getSegmentCount()
public abstract boolean isOSGiCompatible()
public String toString()
toString
in class Object
public abstract void toString(StringBuffer sb)
sb
StringBuffer.
sb
- The buffer that will receive the version string
|
Eclipse Platform Release 3.6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2010. All rights reserved.