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 }