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