+++ /dev/null
-/**
- *
- */
-package org.vamsas.objects.utils.document;
-
-import java.util.Hashtable;
-
-/**
- * enumerates versions for the VamsasDocument.Version string
- * provides version comparison methods
- * TODO: LATER: associate schema versions with these strings
- */
-public class VersionEntries {
- public static final String ALPHA_VERSION="alpha";
- public static final String BETA_VERSION="beta";
- protected static Hashtable versions;
- static {
- versions = new Hashtable();
- // integers represent version hierarchy - 0 precedes 1
- versions.put(ALPHA_VERSION, new Integer(0));
- versions.put(BETA_VERSION, new Integer(1));
- }
- // TODO: LATER: decide on best pattern for enumeration classes (ie - need an ordered list of versions, and validator, plus explicit enum-strings)
- public static boolean isVersion(String vstring) {
- return versions.containsKey(vstring);
- }
- /**
- * returns 0 if levels are equivalent,
- * 1 if higher is valid and higher,
- * 2 if lower is valid and higher
- * -1 if both levels are invalid
- * @param higher
- * @param lower
- * @return
- */
- public static int compare(String higher, String lower) {
- int v_1 = versions.containsKey(higher) ? ((Integer) versions.get(higher)).intValue() : -1;
- int v_2 = versions.containsKey(lower) ? ((Integer) versions.get(lower)).intValue() : -1;
- int comp = v_1<v_2 ? 2 : v_1 == v_2 ? 0 : 1;
- return (comp==0) ? (v_1!=-1 ? 0 : -1) : comp;
- }
- /**
- * @return the latest version that this vamsas library supports
- */
- public static String latestVersion() {
- return BETA_VERSION;
- }
-
-}