5a478c97857eeb4c0ca301da5d672e76aee20854
[vamsas.git] / src / uk / ac / vamsas / client / IVorbaIdFactory.java
1 /*
2  * Created on 14-Sep-2005
3  *
4  * TODO To change the template for this generated file go to
5  * Window - Preferences - Java - Code Style - Code Templates
6  */
7 package uk.ac.vamsas.client;
8
9 /**
10  * @author jimp
11  * middleware interface for generating new VorbaId objects 
12  * for a particular vamsas client based on the current 
13  * session, user and client handle. Generally implemented 
14  * by instances of the vamsas library api only.
15  */
16 public interface IVorbaIdFactory {
17   /**
18    * construct a new id appropriate for this client in the vamsas session.
19    * @param vobject TODO
20    * 
21    * @return valid VorbaId for session, or null if VorbaIdFactory not configured
22    *         correctly.
23    */
24   public abstract VorbaId makeVorbaId(Vobject vobject);
25
26   public abstract SessionHandle getSessionHandle();
27
28   public abstract ClientHandle getClientHandle();
29
30   public abstract UserHandle getUserHandle();
31   /**
32    * called when an object is touched by the vamsas library prior to writing
33    * to record last hash for the object's VorbaId
34    * @param vobject
35    */
36   public abstract void updateHashValue(Vobject vobject);
37 }