View Javadoc

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.idp;
18  
19  /** Class for printing the version of this IdP. */
20  public final class Version {
21  
22      /** Name of the IdP. */
23      private static final String NAME;
24  
25      /** IdP version. */
26      private static final String VERSION;
27  
28      /** IdP major version number. */
29      private static final int MAJOR_VERSION;
30  
31      /** IdP minor version number. */
32      private static final int MINOR_VERSION;
33  
34      /** IdP 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 IdP.
53       * 
54       * @return name of the IdP
55       */
56      public static String getName() {
57          return NAME;
58      }
59  
60      /**
61       * Gets the version of the IdP.
62       * 
63       * @return version of the IdP
64       */
65      public static String getVersion() {
66          return VERSION;
67      }
68  
69      /**
70       * Gets the major version number of the IdP.
71       * 
72       * @return major version number of the IdP
73       */
74      public static int getMajorVersion() {
75          return MAJOR_VERSION;
76      }
77  
78      /**
79       * Gets the minor version number of the IdP.
80       * 
81       * @return minor version number of the IdP
82       */
83      public static int getMinorVersion() {
84          return MINOR_VERSION;
85      }
86  
87      /**
88       * Gets the micro version number of the IdP.
89       * 
90       * @return micro version number of the IdP
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 }