[jbosscache-commits] JBoss Cache SVN: r4596 - core/tags/2.1.0.BETA1/src/main/java/org/jboss/cache.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Wed Oct 10 12:52:43 EDT 2007
Author: manik.surtani at jboss.com
Date: 2007-10-10 12:52:43 -0400 (Wed, 10 Oct 2007)
New Revision: 4596
Added:
core/tags/2.1.0.BETA1/src/main/java/org/jboss/cache/Version.java
Log:
Tagged B1
Copied: core/tags/2.1.0.BETA1/src/main/java/org/jboss/cache/Version.java (from rev 4595, core/trunk/src/main/java/org/jboss/cache/Version.java)
===================================================================
--- core/tags/2.1.0.BETA1/src/main/java/org/jboss/cache/Version.java (rev 0)
+++ core/tags/2.1.0.BETA1/src/main/java/org/jboss/cache/Version.java 2007-10-10 16:52:43 UTC (rev 4596)
@@ -0,0 +1,170 @@
+package org.jboss.cache;
+
+import net.jcip.annotations.Immutable;
+
+/**
+ * Contains version information about this release of JBoss Cache.
+ *
+ * @author Bela Ban
+ * @version $Id: Version.java 4592 2007-10-10 16:44:36Z manik.surtani at jboss.com $
+ */
+ at Immutable
+public class Version
+{
+ public static final String version = "2.1.0.BETA1";
+ public static final String codename = "Alegrias";
+ public static final String cvs = "$Id: Version.java 4592 2007-10-10 16:44:36Z manik.surtani at jboss.com $";
+ static final byte[] version_id = {'0', '2', '1', '0', 'B'};
+
+ private static final int MAJOR_SHIFT = 11;
+ private static final int MINOR_SHIFT = 6;
+ private static final int MAJOR_MASK = 0x00f800;
+ private static final int MINOR_MASK = 0x0007c0;
+ private static final int PATCH_MASK = 0x00003f;
+
+ private static final short SHORT_1_2_3 = encodeVersion(1, 2, 3);
+ private static final short SHORT_1_2_4_SP2 = encodeVersion(1, 2, 4);
+
+ /**
+ * Prints version information.
+ */
+ public static void main(String[] args)
+ {
+ System.out.println("\nVersion: \t" + version);
+ System.out.println("Codename: \t" + codename);
+ System.out.println("CVS: \t" + cvs);
+ System.out.println("History: \t(see http://jira.jboss.com/jira/browse/JBCACHE for details)\n");
+ }
+
+ /**
+ * Returns version information as a string.
+ */
+ public static String printVersion()
+ {
+ return "JBossCache '" + codename + "' " + version + "[ " + cvs + "]";
+ }
+
+ public static String printVersionId(byte[] v, int len)
+ {
+ StringBuffer sb = new StringBuffer();
+ if (v != null)
+ {
+ if (len <= 0)
+ len = v.length;
+ for (int i = 0; i < len; i++)
+ sb.append((char) v[i]);
+ }
+ return sb.toString();
+ }
+
+ public static String printVersionId(byte[] v)
+ {
+ StringBuffer sb = new StringBuffer();
+ if (v != null)
+ {
+ for (byte aV : v) sb.append((char) aV);
+ }
+ return sb.toString();
+ }
+
+
+ public static boolean compareTo(byte[] v)
+ {
+ if (v == null)
+ return false;
+ if (v.length < version_id.length)
+ return false;
+ for (int i = 0; i < version_id.length; i++)
+ {
+ if (version_id[i] != v[i])
+ return false;
+ }
+ return true;
+ }
+
+ public static int getLength()
+ {
+ return version_id.length;
+ }
+
+ public static short getVersionShort()
+ {
+ return getVersionShort(version);
+ }
+
+ public static short getVersionShort(String versionString)
+ {
+ if (versionString == null)
+ throw new IllegalArgumentException("versionString is null");
+
+ // Special cases for version prior to 1.2.4.SP2
+ if ("1.2.4".equals(versionString))
+ return 124;
+ else if ("1.2.4.SP1".equals(versionString))
+ return 1241;
+
+ String parts[] = versionString.split("[\\.\\-]");
+ int a = 0;
+ int b = 0;
+ int c = 0;
+ if (parts.length > 0)
+ a = Integer.parseInt(parts[0]);
+ if (parts.length > 1)
+ b = Integer.parseInt(parts[1]);
+ if (parts.length > 2)
+ c = Integer.parseInt(parts[2]);
+ return encodeVersion(a, b, c);
+ }
+
+ public static String getVersionString(short versionShort)
+ {
+ if (versionShort == SHORT_1_2_4_SP2)
+ return "1.2.4.SP2";
+
+ switch (versionShort)
+ {
+ case 124:
+ return "1.2.4";
+ case 1241:
+ return "1.2.4.SP1";
+ default:
+ return decodeVersion(versionShort);
+ }
+ }
+
+ public static short encodeVersion(int major, int minor, int patch)
+ {
+ short version = (short) ((major << MAJOR_SHIFT)
+ + (minor << MINOR_SHIFT)
+ + patch);
+ return version;
+ }
+
+ public static String decodeVersion(short version)
+ {
+ int major = (version & MAJOR_MASK) >> MAJOR_SHIFT;
+ int minor = (version & MINOR_MASK) >> MINOR_SHIFT;
+ int patch = (version & PATCH_MASK);
+ String versionString = major + "." + minor + "." + patch;
+ return versionString;
+ }
+
+ public static boolean isBefore124(short version)
+ {
+ return (version > 1241 && version <= SHORT_1_2_3);
+ }
+
+ /**
+ * Retroweaver version info.
+ */
+ public static class Retro
+ {
+ public static void main(String[] args)
+ {
+ System.out.println("\nVersion: \t" + version + " (Retroweaved for JDK 1.4.x compatibility)");
+ System.out.println("Codename: \t" + codename);
+ System.out.println("CVS: \t" + cvs);
+ System.out.println("History: \t(see http://jira.jboss.com/jira/browse/JBCACHE for details)\n");
+ }
+ }
+}
More information about the jbosscache-commits
mailing list