Vamsas Archive Reader and simple test class.
[vamsas.git] / src / org / vamsas / client / VorbaIdFactory.java
index 2573310..ece1357 100644 (file)
@@ -7,22 +7,34 @@
 package org.vamsas.client;
 
 /**
+ * A VorbaIdFactory is constructed by an IClient instance.
+ * It guarantees that any new VorbaId objects are unique 
+ * within the VAMSAS session.
+ * 
  * @author jimp
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
  */
-public interface VorbaIdFactory {
+public abstract class VorbaIdFactory implements IVorbaIdFactory {
   /**
-   * construct a new id appropriate for this 
-   * client in the vamsas session.
-   * @return valid VorbaId for session, or null if VorbaIdFactory not configured correctly.
+   * construct a new id appropriate for this client in the vamsas session.
+   * 
+   * @return valid VorbaId for session, or null if VorbaIdFactory not configured
+   *         correctly.
    */
-  public VorbaId makeVorbaId();
-  void setSession(SessionHandle sessionHandle);
-  public SessionHandle getSession();
-  void setClient(ClientHandle appHandle);
-  public ClientHandle getClient();
-  void setUser(UserHandle userHandle);
-  public UserHandle getUser();
+  public abstract VorbaId makeVorbaId();
+  /**
+   * TODO: decide if these are needed.
+   * 
+   * @param sessionHandle
+   */
+  protected abstract void setSession(SessionHandle sessionhandle);
+
+  public abstract SessionHandle getSessionHandle();
+
+  protected abstract void setClient(ClientHandle appHandle);
+
+  public abstract ClientHandle getClientHandle();
+
+  protected abstract void setUser(UserHandle userHandle);
+
+  public abstract UserHandle getUserHandle();
 }