
org.globus.common.Version Maven / Gradle / Ivy
The newest version!
/*
* Copyright 1999-2010 University of Chicago
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is
* distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied.
*
* See the License for the specific language governing permissions and limitations under the License.
*/
package org.globus.common;
/**
* This class contains version information of the JGlobus module.
* The version number is composed as MAJOR.MINOR.PATCH.
*/
public class Version {
/**
* COG version. Required to be MAJOR.MINOR.PATCH, with
* format integer.integer.integer.
*/
private static String COG_VERSION = "1.8.0";
/** The major release number */
public static final int MAJOR;
/** The minor release number */
public static final int MINOR;
/** The patchlevel of the current release */
public static final int PATCH;
static {
int firstDot = COG_VERSION.indexOf(".");
if (firstDot == -1) {
throw new IllegalArgumentException("COG version required MAJOR."
+ "MINOR.PATCH. It is set as "
+ COG_VERSION);
}
String tmp = COG_VERSION.substring(0, firstDot);
if (tmp.equals("")) {
throw new IllegalArgumentException("Number needed after ." +
"COG version required MAJOR"
+ ".MINOR.PATCH. It is set "
+ "as " + COG_VERSION);
}
try {
MAJOR = Integer.parseInt(tmp);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("COG version numbers are"
+ " required to be integers" +
e.getMessage());
}
int secondDot = COG_VERSION.indexOf(".", firstDot + 1);
if (secondDot == -1) {
PATCH = 0;
tmp = COG_VERSION.substring(firstDot + 1, COG_VERSION.length());
if (tmp.equals("")) {
throw new IllegalArgumentException("Number needed after . " +
"COG version required " +
"MAJOR.MINOR.PATCH. It "
+ "is set as " +
COG_VERSION);
}
try {
MINOR = Integer.parseInt(tmp);
} catch (NumberFormatException e) {
throw new IllegalArgumentException("COG version numbers are"
+ " required to be numbers.", e);
}
} else {
try {
MINOR = Integer.parseInt(COG_VERSION.substring(firstDot + 1,
secondDot));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("COG version numbers are"
+ " required to be numbers.", e);
}
try {
PATCH = Integer.parseInt(COG_VERSION
.substring(secondDot + 1,
COG_VERSION.length()));
} catch (NumberFormatException e) {
throw new IllegalArgumentException("COG version numbers are"
+ " required to be "
+ "numbers." +
e.getMessage());
}
}
}
/**
* Returns the current version as string in the form MAJOR.MINOR.PATCH.
*/
public static String getVersion() {
return getMajor() + "." + getMinor() + "." + getPatch();
}
/**
* Returns the major release number.
*
* @return the major release
*/
public static int getMajor() {
return MAJOR;
}
/**
* Returns the minor release number.
*
* @return the minor release number
*/
public static int getMinor() {
return MINOR;
}
/**
* Returns the patch level.
*
* @return the patch level
*/
public static int getPatch() {
return PATCH;
}
/**
* Returns the version for the Java CoG Kit as a readble string.
*
* @param args
*/
public static void main(String [] args) {
System.out.println("Java CoG version: " + getVersion());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy