--- /dev/null
+/**
+ *
+ */
+package org.vamsas.client;
+
+import java.io.File;
+import java.net.URI;
+import java.util.Vector;
+
+/**
+ * @author jimp
+ * base class for vamsas session/document types
+ * uses java.net.URI internally for construction of URN
+ */
+public abstract class SessionUrn {
+ URI urn;
+ /**
+ * The types of URI protocols we understand
+ */
+ protected static final Vector TYPES=new Vector();
+ static {
+ TYPES.add(SessionUrn.VAMSASDOCUMENT);
+ }
+ public static String VAMSASDOCUMENT="vdoc";
+
+ /**
+ * construct urn for a locally stored session file
+ * @param type
+ * @param file
+ */
+ protected SessionUrn(String type, File file) {
+ if (!TYPES.contains(type.toLowerCase()))
+ throw new Error("Unknown "+this.getClass().getName()+" type '"+type+"' for file '"+file.getAbsolutePath()+"'");
+ urn = URI.create(type+"://"+file.getAbsolutePath());
+ }
+ public String getSessionUrn() {
+ return urn.toString();
+ }
+}
--- /dev/null
+package org.vamsas.client.simpleclient;
+
+import java.io.File;
+
+/**
+ * SessionUrn for simpleclient sessions:
+ * simpleclient://{Absolute path to session directory}
+ * @author jimp
+ *
+ */
+public class SessionUrn extends org.vamsas.client.SessionUrn {
+ /**
+ * a simple client session urn prefix
+ */
+ public static final String SIMPLECLIENT="simpleclient";
+ static {
+ TYPES.add(SIMPLECLIENT);
+ }
+ public SessionUrn(File sessionLocation) {
+ super(SIMPLECLIENT, sessionLocation);
+ }
+}