2 * Created on 12-Sep-2005
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
7 package org.vamsas.client;
9 import java.util.Hashtable;
12 * A VorbaIdFactory is constructed by an IClient instance.
13 * It guarantees that any new VorbaId objects are unique
14 * within the VAMSAS session.
18 public abstract class VorbaIdFactory implements IVorbaIdFactory {
19 protected Hashtable extantids=null;
21 * construct a new id appropriate for this client in the vamsas session.
23 * @return valid VorbaId for session, or null if VorbaIdFactory not configured
26 public abstract VorbaId makeVorbaId();
29 * internal method to access the protected VorbaId object constructor
30 * This shennanigan is to prevent casual generation of VorbaIds
31 * (which may destroy the integrity of a Vamsas Document!)
33 * @return new VorbaId object
35 protected VorbaId newId(String id) {
36 return VorbaId.newId(id);
39 * Called by VorbaXmlBinder so the record of newly unmarshalled object Ids
40 * is accessible to the Document's VorbaIdFactory instance.
43 protected void setNewIdHash(Hashtable idtable) {
47 * TODO: decide if these are needed.
49 * @param sessionHandle
51 protected abstract void setSession(SessionHandle sessionhandle);
53 public abstract SessionHandle getSessionHandle();
55 protected abstract void setClient(ClientHandle appHandle);
57 public abstract ClientHandle getClientHandle();
59 protected abstract void setUser(UserHandle userHandle);
61 public abstract UserHandle getUserHandle();