X-Git-Url: http://source.jalview.org/gitweb/?p=vamsas.git;a=blobdiff_plain;f=src%2Fuk%2Fac%2Fvamsas%2Fobjects%2Futils%2Fdocument%2FVersionEntries.java;h=b8bd785d69218906468b2b353cd442866f76930f;hp=79723473c841391cb0c982a573339abb06a5b850;hb=844ccad5a3fcbedec17b2af66d460f31abc7cff1;hpb=6f33f705957d674dc2ab6c994a6ea87f7a91f40f diff --git a/src/uk/ac/vamsas/objects/utils/document/VersionEntries.java b/src/uk/ac/vamsas/objects/utils/document/VersionEntries.java index 7972347..b8bd785 100644 --- a/src/uk/ac/vamsas/objects/utils/document/VersionEntries.java +++ b/src/uk/ac/vamsas/objects/utils/document/VersionEntries.java @@ -1,49 +1,73 @@ -/** - * - */ -package uk.ac.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. + */ +package uk.ac.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; + } + +}