1 /* 2 * Copyright 2008 University Corporation for Advanced Internet Development, Inc. 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package edu.internet2.middleware.shibboleth.common; 18 19 /** Class for printing the version of this library. */ 20 public final class Version { 21 22 /** Name of the library. */ 23 private static final String NAME; 24 25 /** Library version. */ 26 private static final String VERSION; 27 28 /** Library major version number. */ 29 private static final int MAJOR_VERSION; 30 31 /** Library minor version number. */ 32 private static final int MINOR_VERSION; 33 34 /** Library micro version number. */ 35 private static final int MICRO_VERSION; 36 37 /** Constructor. */ 38 private Version() { 39 } 40 41 /** 42 * Main entry point to program. 43 * 44 * @param args command line arguments 45 */ 46 public static void main(String[] args) { 47 Package pkg = Version.class.getPackage(); 48 System.out.println(NAME + " version " + VERSION); 49 } 50 51 /** 52 * Gets the name of the library. 53 * 54 * @return name of the library 55 */ 56 public static String getName() { 57 return NAME; 58 } 59 60 /** 61 * Gets the version of the library. 62 * 63 * @return version of the library 64 */ 65 public static String getVersion() { 66 return VERSION; 67 } 68 69 /** 70 * Gets the major version number of the library. 71 * 72 * @return major version number of the library 73 */ 74 public static int getMajorVersion() { 75 return MAJOR_VERSION; 76 } 77 78 /** 79 * Gets the minor version number of the library. 80 * 81 * @return minor version number of the library 82 */ 83 public static int getMinorVersion() { 84 return MINOR_VERSION; 85 } 86 87 /** 88 * Gets the micro version number of the library. 89 * 90 * @return micro version number of the library 91 */ 92 public static int getMicroVersion() { 93 return MICRO_VERSION; 94 } 95 96 static { 97 Package pkg = Version.class.getPackage(); 98 NAME = pkg.getImplementationTitle().intern(); 99 VERSION = pkg.getImplementationVersion().intern(); 100 String[] versionParts = VERSION.split("."); 101 MAJOR_VERSION = Integer.parseInt(versionParts[0]); 102 MINOR_VERSION = Integer.parseInt(versionParts[1]); 103 MICRO_VERSION = Integer.parseInt(versionParts[2]); 104 } 105 }