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();
}