001    /*
002     * Copyright 2011-2012 UnboundID Corp.
003     *
004     * This program is free software; you can redistribute it and/or modify
005     * it under the terms of the GNU General Public License (GPLv2 only)
006     * or the terms of the GNU Lesser General Public License (LGPLv2.1 only)
007     * as published by the Free Software Foundation.
008     *
009     * This program is distributed in the hope that it will be useful,
010     * but WITHOUT ANY WARRANTY; without even the implied warranty of
011     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
012     * GNU General Public License for more details.
013     *
014     * You should have received a copy of the GNU General Public License
015     * along with this program; if not, see <http://www.gnu.org/licenses>.
016     */
017    
018    package com.unboundid.scim.sdk;
019    
020    
021    
022    import java.util.ArrayList;
023    import java.util.Collections;
024    import java.util.List;
025    
026    //import com.unboundid.util.ThreadSafety;
027    //import com.unboundid.util.ThreadSafetyLevel;
028    
029    
030    
031    /**
032     * This class provides information about the current version of the UnboundID
033     * SCIM SDK for Java.
034     */
035    //@ThreadSafety(level=ThreadSafetyLevel.COMPLETELY_THREADSAFE)
036    public final class Version
037    {
038      //
039      // NOTE -- This file is dynamically generated.  Do not edit it.  If you need
040      //         to add something to it, then add it to the
041      //         resource/Version.java.stub file below the SCIM SDK build root.
042      //
043    
044    
045    
046      /**
047       * The official full product name for the SCIM SDK.  For this build, the
048       * value is "UnboundID SCIM SDK".
049       */
050      public static final String PRODUCT_NAME = "UnboundID SCIM SDK";
051    
052    
053    
054      /**
055       * The short product name for the SCIM SDK.  This will not have any spaces.
056       * For this build, the value is "unboundid-scimsdk".
057       */
058      public static final String SHORT_NAME = "unboundid-scimsdk";
059    
060    
061    
062      /**
063       * The version string for the SCIM SDK.
064       * For this build, the value is "1.1.1".
065       */
066      public static final String VERSION = "1.1.1";
067    
068    
069    
070      /**
071       * A timestamp that indicates when this build of the SCIM SDK was generated.
072       * For this build, the value is "20120508150030Z".
073       */
074      public static final String BUILD_TIMESTAMP = "20120508150030Z";
075    
076    
077    
078      /**
079       * The Subversion path associated with the build root directory from which
080       * this build of the SCIM SDK was generated.  It may be an absolute local
081       * filesystem path if the Subversion path isn't available at build time.
082       * For this build, the value is "/".
083       */
084      public static final String REPOSITORY_PATH = "/";
085    
086    
087    
088      /**
089       * The source revision number from which this build of the SCIM SDK was
090       * generated.  It may be -1 if the Subversion revision isn't available at
091       * build time.  For this build, the value is 1147.
092       */
093      public static final long REVISION_NUMBER = 1147;
094    
095    
096    
097      /**
098       * The full version string for the SCIM SDK.  For this build, the value is
099       * "UnboundID SCIM SDK 1.1.1".
100       */
101      public static final String FULL_VERSION_STRING =
102           PRODUCT_NAME + ' ' + VERSION;
103    
104    
105    
106      /**
107       * The short version string for the SCIM SDK.  This will not have any spaces.
108       * For this build, the value is
109       * "unboundid-scimsdk-1.1.1".
110       */
111      public static final String SHORT_VERSION_STRING =
112           SHORT_NAME + '-' + VERSION;
113    
114    
115    
116      /**
117       * Prevent this class from being instantiated.
118       */
119      private Version()
120      {
121        // No implementation is required.
122      }
123    
124    
125    
126      /**
127       * Prints version information from this class to standard output.
128       *
129       * @param  args  The command-line arguments provided to this program.
130       */
131      public static void main(final String... args)
132      {
133        for (final String line : getVersionLines())
134        {
135          System.out.println(line);
136        }
137      }
138    
139    
140    
141      /**
142       * Retrieves a list of lines containing information about the SCIM SDK
143       * version.
144       *
145       * @return  A list of lines containing information about the SCIM SDK
146       *          version.
147       */
148      public static List<String> getVersionLines()
149      {
150        final ArrayList<String> versionLines = new ArrayList<String>(11);
151    
152        versionLines.add("Full Version String:   " + FULL_VERSION_STRING);
153        versionLines.add("Short Version String:  " + SHORT_VERSION_STRING);
154        versionLines.add("Product Name:          " + PRODUCT_NAME);
155        versionLines.add("Short Name:            " + SHORT_NAME);
156        versionLines.add("Version:               " + VERSION);
157        versionLines.add("Build Timestamp:       " + BUILD_TIMESTAMP);
158        versionLines.add("Repository Path:       " + REPOSITORY_PATH);
159        versionLines.add("Revision Number:       " + REVISION_NUMBER);
160    
161        return Collections.unmodifiableList(versionLines);
162      }
163    }