/** * */ 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