|
Extension SDK 10.1.2 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object oracle.ide.util.VersionNumber
This class encapsulates the notion of a version number
or version string, which can be defined as a string of
characters, usually digits, separated by dots ('.'). An example
is 8.1.7.0.0
.
VersionNumber
has methods that can compare one instance
of VersionNumber
to another. During comparison,
VersionNumber
attempts to interpret the parts of the
version string as numbers; if two corresponding parts cannot be
compared as numbers, they are compared lexicographically.
Whether or not two VersionNumber
instances have the
same number of parts, comparisons occur in a left-to-right
manner, part by part. As soon as a difference is detected, then
it can be determined which version number is earlier or later.
Examples:
8.1.7
comes after 8.1.6
.
9.0
comes after 8.9.9.9.9.9.9
.
8.0.5
equals 8.0.5
.
8.0.6
comes before
8.0.6.0
.
2.0a
comes before 2.0b
.
.0
" fields is arbitrarily
chosen. Currently, extra ".0
" means that the version
number is later than the version string without the extra
".0
" fields. This may change in the future, pending
peer review.
This class implements StringConversion
so that instances of
VersionNumber
can be persisted and reloaded by the
marshalling framework.
Constructor Summary | |
VersionNumber(java.lang.String versionString)
This creates an instance of VersionNumber based on the
dot-separated version string that is passed in. |
Method Summary | |
int |
countParts()
Returns the number of dot-separated fields contained in the version. |
boolean |
equals(VersionNumber version)
Compares this instance of VersionNumber with the
specified VersionNumber and returns true
if the version represented are identical. |
java.lang.String |
getPart(int offset)
Returns the part of the version string requested or null if the offset is out of bounds. |
boolean |
isAfter(VersionNumber version,
boolean orEquals)
This is a convenience method that simply calls !isBefore(version, !orEquals) . |
boolean |
isBefore(VersionNumber version,
boolean orEquals)
Compares the parts of the this VersionNumber with the
parts of the specified VersionNumber to determine
whether this VersionNumber represents a version that
comes before the specified version. |
java.lang.String |
toString()
Returns the VersionNumber in dot-separated notation
as a String . |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
public VersionNumber(java.lang.String versionString)
VersionNumber
based on the
dot-separated version string that is passed in.
Method Detail |
public int countParts()
2
. If the version string is "3",
then this method returns 1
.
public java.lang.String getPart(int offset)
null
if the offset is out of bounds.
public boolean equals(VersionNumber version)
VersionNumber
with the
specified VersionNumber
and returns true
if the version represented are identical.
public final boolean isAfter(VersionNumber version, boolean orEquals)
!isBefore(version, !orEquals)
.
public boolean isBefore(VersionNumber version, boolean orEquals)
VersionNumber
with the
parts of the specified VersionNumber
to determine
whether this VersionNumber
represents a version that
comes before the specified version. Parts are compared one at a
time, and the result is returned as soon as it is determined. For
each comparison, an attempt is first made to convert both version
parts to an int
using Integer.parseInt()
.
If this succeeds, then the version parts are compared numerically.
If the conversion to int
fails because of a
NumberFormatException
, the version
parts are compared lexicographically using
String.compareTo(...)
. These
steps are followed for each version part, so it may be the case
that some parts are compared numerically and others
lexicographically.
If one VersionNumber
instance has extra zeros at
the end, while the one it is being compared to does not have extra
zeros, then the VersionNumber
with the extra zeros
is considered to be later than the VersionNumber
without the extra zeros.
public java.lang.String toString()
VersionNumber
in dot-separated notation
as a String
.
|
Extension SDK | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 1997, 2004, Oracle. All rights reserved.