Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.7.0)

E13403-08

oracle.ide.util
Class VersionNumber

java.lang.Object
  extended by oracle.ide.util.VersionNumber
All Implemented Interfaces:
java.lang.Comparable, StringConversion

public final class VersionNumber
extends java.lang.Object
implements java.lang.Comparable, StringConversion

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:

This class implements Comparable so that collections of VersionNumber can be easily sorted.

This class implements StringConversion so that instances of VersionNumber can be persisted and reloaded by Objecg2Dom.


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 compareTo(java.lang.Object o)
           
 int countParts()
          Returns the number of dot-separated fields contained in the version.
 boolean equals(java.lang.Object o)
          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.
 int hashCode()
           
 boolean isAfter(VersionNumber version)
          Returns true if this VersionNumber is after the specified VersionNumber.
 boolean isAfter(VersionNumber version, boolean orEquals)
          This is a convenience method that simply calls !isBefore(version, !orEquals).
 boolean isBefore(VersionNumber version)
          Returns true if this VersionNumber is before the specified VersionNumber.
 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, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

VersionNumber

public VersionNumber(java.lang.String versionString)
This creates an instance of VersionNumber based on the dot-separated version string that is passed in.

Method Detail

countParts

public int countParts()
Returns the number of dot-separated fields contained in the version. For example, if the version string is "9.0", then this method returns 2. If the version string is "3", then this method returns 1.


getPart

public java.lang.String getPart(int offset)
Returns the part of the version string requested or null if the offset is out of bounds.


isAfter

public final boolean isAfter(VersionNumber version)
Returns true if this VersionNumber is after the specified VersionNumber. Returns false if this VersionNumber is equal to or before the specified VersionNumber.


isAfter

public final boolean isAfter(VersionNumber version,
                             boolean orEquals)
This is a convenience method that simply calls !isBefore(version, !orEquals).


isBefore

public final boolean isBefore(VersionNumber version)
Returns true if this VersionNumber is before the specified VersionNumber. Returns false if this VersionNumber is equal to or after the specified VersionNumber.


isBefore

public 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. 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.


compareTo

public int compareTo(java.lang.Object o)
Specified by:
compareTo in interface java.lang.Comparable

equals

public boolean equals(java.lang.Object o)
Compares this instance of VersionNumber with the specified VersionNumber and returns true if the version represented are identical.

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Returns the VersionNumber in dot-separated notation as a String.

Overrides:
toString in class java.lang.Object

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.7.0)

E13403-08

Copyright © 1997, 2013, Oracle. All rights reserved.