| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2006 IBM Corporation and others. |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v1.0 |
| // which accompanies this distribution, and is available at |
| // http://www.eclipse.org/legal/epl-v10.html |
| // |
| // Contributors: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.common.serviceability; |
| |
| import org.osgi.framework.Version; |
| |
| /** |
| * This class represents a single version of EPF Composer. |
| * It contains all the versions of the sub-components of EPF. |
| * |
| * @author Jeff Hardy |
| * @sicne 1.0 |
| */ |
| public class EPFVersion { |
| |
| // the tool version |
| protected Version toolVersion; |
| |
| // the library version |
| protected Version libraryVersion; |
| |
| // the schema version |
| protected Version xmlSchemaVersion; |
| |
| |
| public EPFVersion() { |
| this.toolVersion = Version.emptyVersion; |
| this.libraryVersion = Version.emptyVersion; |
| this.xmlSchemaVersion = Version.emptyVersion; |
| }; |
| |
| public EPFVersion(String toolVersion, String libraryVersion, String xmlSchemaVersion) { |
| this.toolVersion = new Version(toolVersion); |
| this.libraryVersion = new Version(libraryVersion); |
| this.xmlSchemaVersion = new Version(xmlSchemaVersion); |
| } |
| |
| /** |
| * @return the tool version |
| */ |
| public Version getToolVersion() { |
| return toolVersion; |
| } |
| |
| /** |
| * @return the library version |
| */ |
| public Version getLibraryVersion() { |
| return libraryVersion; |
| } |
| |
| /** |
| * @return the XML schema version |
| */ |
| public Version getXMLSchemaVersion() { |
| return xmlSchemaVersion; |
| } |
| |
| /** |
| * Compares the given tool version to this one |
| * |
| * @see org.osgi.framework.Version#compareTo() |
| * |
| * @param schemaVersion The schema version to be compared. |
| * @return A negative integer if this tool version is less than the given one<br /> |
| * Zero if the this tool version is the same as the given one<br /> |
| * A positive integer if this tool version is greater than the given one<br /> |
| * |
| */ |
| public int compareToolVersionTo(Version toolVersion) { |
| if (!VersionUtil.isVersionCheckingDisabled()) |
| return getToolVersion().compareTo(toolVersion); |
| else |
| return 0; |
| } |
| |
| /** |
| * Compares the given library version to this one |
| * |
| * @see org.osgi.framework.Version#compareTo() |
| * |
| * @param schemaVersion The schema version to be compared. |
| * @return A negative integer if this library version is less than the given one<br /> |
| * Zero if the this library version is the same as the given one<br /> |
| * A positive integer if this library version is greater than the given one<br /> |
| * |
| */ |
| public int compareLibraryVersionTo(Version libraryVersion) { |
| if (!VersionUtil.isVersionCheckingDisabled()) |
| return getLibraryVersion().compareTo(libraryVersion); |
| else |
| return 0; |
| } |
| |
| /** |
| * Compares the given XML Schema version to this one |
| * |
| * @see org.osgi.framework.Version#compareTo() |
| * |
| * @param schemaVersion The schema version to be compared. |
| * @return A negative integer if this XML Schema version is less than the given one<br /> |
| * Zero if the this XML Schema version is the same as the given one<br /> |
| * A positive integer if this XML Schema version is greater than the given one<br /> |
| * |
| */ |
| public int compareXMLSchemaVersionTo(Version XMLSchemaVersion) { |
| if (!VersionUtil.isVersionCheckingDisabled()) |
| return getXMLSchemaVersion().compareTo(XMLSchemaVersion); |
| else |
| return 0; |
| } |
| |
| public String toString() { |
| return getToolVersion().toString() + "," + //$NON-NLS-1$ |
| getLibraryVersion().toString() + "," + //$NON-NLS-1$ |
| getXMLSchemaVersion().toString(); |
| } |
| |
| public boolean equals(Object object) { |
| if (object == this) { // quicktest |
| return true; |
| } |
| |
| if (!(object instanceof EPFVersion)) { |
| return false; |
| } |
| |
| EPFVersion other = (EPFVersion) object; |
| return (getToolVersion().equals(other.getToolVersion())) && (getLibraryVersion().equals(other.getLibraryVersion())) |
| && (getXMLSchemaVersion().equals(other.getXMLSchemaVersion())); |
| } |
| } |