Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.eclipse.core.runtime
Class PluginVersionIdentifier  view PluginVersionIdentifier download PluginVersionIdentifier.java

java.lang.Object
  extended byorg.eclipse.core.runtime.PluginVersionIdentifier

public final class PluginVersionIdentifier
extends java.lang.Object

Version identifier for a plug-in. In its string representation, it consists of up to 4 tokens separated by a decimal point. The first 3 tokens are positive integer numbers, the last token is an uninterpreted string (no whitespace characters allowed). For example, the following are valid version identifiers (as strings):

The version identifier can be decomposed into a major, minor, service level component and qualifier components. A difference in the major component is interpreted as an incompatible version change. A difference in the minor (and not the major) component is interpreted as a compatible version change. The service level component is interpreted as a cumulative and compatible service update of the minor version component. The qualifier is not interpreted, other than in version comparisons. The qualifiers are compared using lexicographical string comparison.

Version identifiers can be matched as perfectly equal, equivalent, compatible or greaterOrEqual.

Clients may instantiate; not intended to be subclassed by clients.


Field Summary
private  int major
           
private  int minor
           
private  java.lang.String qualifier
           
private static java.lang.String SEPARATOR
           
private  int service
           
 
Constructor Summary
PluginVersionIdentifier(int major, int minor, int service)
          Creates a plug-in version identifier from its components.
PluginVersionIdentifier(int major, int minor, int service, java.lang.String qualifier)
          Creates a plug-in version identifier from its components.
PluginVersionIdentifier(java.lang.String versionId)
          Creates a plug-in version identifier from the given string.
 
Method Summary
 boolean equals(java.lang.Object object)
          Compare version identifiers for equality.
 int getMajorComponent()
          Returns the major (incompatible) component of this version identifier.
 int getMinorComponent()
          Returns the minor (compatible) component of this version identifier.
 java.lang.String getQualifierComponent()
          Returns the qualifier component of this version identifier.
 int getServiceComponent()
          Returns the service level component of this version identifier.
 int hashCode()
          Returns a hash code value for the object.
 boolean isCompatibleWith(PluginVersionIdentifier id)
          Compares two version identifiers for compatibility.
 boolean isEquivalentTo(PluginVersionIdentifier id)
          Compares two version identifiers for equivalency.
 boolean isGreaterOrEqualTo(PluginVersionIdentifier id)
          Compares two version identifiers to see if this one is greater than or equal to the argument.
 boolean isGreaterThan(PluginVersionIdentifier id)
          Compares two version identifiers for order using multi-decimal comparison.
 boolean isPerfect(PluginVersionIdentifier id)
          Compares two version identifiers for perfect equality.
private static java.lang.Object[] parseVersion(java.lang.String versionId)
           
 java.lang.String toString()
          Returns the string representation of this version identifier.
static IStatus validateVersion(java.lang.String version)
          Validates the given string as a plug-in version identifier.
private static java.lang.String verifyQualifier(java.lang.String s)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

major

private int major

minor

private int minor

service

private int service

qualifier

private java.lang.String qualifier

SEPARATOR

private static final java.lang.String SEPARATOR
See Also:
Constant Field Values
Constructor Detail

PluginVersionIdentifier

public PluginVersionIdentifier(int major,
                               int minor,
                               int service)
Creates a plug-in version identifier from its components.


PluginVersionIdentifier

public PluginVersionIdentifier(int major,
                               int minor,
                               int service,
                               java.lang.String qualifier)
Creates a plug-in version identifier from its components.


PluginVersionIdentifier

public PluginVersionIdentifier(java.lang.String versionId)
Creates a plug-in version identifier from the given string. The string represenation consists of up to 4 tokens separated by decimal point. For example, the following are valid version identifiers (as strings):
  • 0.0.0
  • 1.0.127564
  • 3.7.2.build-127J
  • 1.9 (interpreted as 1.9.0)
  • 3 (interpreted as 3.0.0)

Method Detail

validateVersion

public static IStatus validateVersion(java.lang.String version)
Validates the given string as a plug-in version identifier.

Since:
2.0

parseVersion

private static java.lang.Object[] parseVersion(java.lang.String versionId)

equals

public boolean equals(java.lang.Object object)
Compare version identifiers for equality. Identifiers are equal if all of their components are equal.


hashCode

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


getMajorComponent

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


getMinorComponent

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


getServiceComponent

public int getServiceComponent()
Returns the service level component of this version identifier.


getQualifierComponent

public java.lang.String getQualifierComponent()
Returns the qualifier component of this version identifier.


isGreaterOrEqualTo

public boolean isGreaterOrEqualTo(PluginVersionIdentifier id)
Compares two version identifiers to see if this one is greater than or equal to the argument.

A version identifier is considered to be greater than or equal if its major component is greater than the argument major component, or the major components are equal and its minor component is greater than the argument minor component, or the major and minor components are equal and its service component is greater than the argument service component, or the major, minor and service components are equal and the qualifier component is greated than the argument qualifier component (using lexicographic string comparison), or all components are equal.

Since:
2.0

isCompatibleWith

public boolean isCompatibleWith(PluginVersionIdentifier id)
Compares two version identifiers for compatibility.

A version identifier is considered to be compatible if its major component equals to the argument major component, and its minor component is greater than or equal to the argument minor component. If the minor components are equal, than the service level of the version identifier must be greater than or equal to the service level of the argument identifier. If the service levels are equal, the two version identifiers are considered to be equivalent if this qualifier is greated or equal to the qualifier of the argument (using lexicographic string comparison).


isEquivalentTo

public boolean isEquivalentTo(PluginVersionIdentifier id)
Compares two version identifiers for equivalency.

Two version identifiers are considered to be equivalent if their major and minor component equal and are at least at the same service level as the argument. If the service levels are equal, the two version identifiers are considered to be equivalent if this qualifier is greated or equal to the qualifier of the argument (using lexicographic string comparison).


isPerfect

public boolean isPerfect(PluginVersionIdentifier id)
Compares two version identifiers for perfect equality.

Two version identifiers are considered to be perfectly equal if their major, minor, service and qualifier components are equal

Since:
2.0

isGreaterThan

public boolean isGreaterThan(PluginVersionIdentifier id)
Compares two version identifiers for order using multi-decimal comparison.


toString

public java.lang.String toString()
Returns the string representation of this version identifier. The result satisfies vi.equals(new PluginVersionIdentifier(vi.toString())).


verifyQualifier

private static java.lang.String verifyQualifier(java.lang.String s)