quick update
[vamsas.git] / src / org / vamsas / client / Events.java
1 package org.vamsas.client;
2 /**
3  * Enumerates the event types generated 
4  * during the lifecycle of a Vamsas session.
5  */
6
7 public class Events {
8   /**
9    * Generated when a client has finished updating the document. 
10    * Passes applicationHandle of client so the updating client can recognise its own updates.
11    */
12   public static final String DOCUMENT_UPDATE="org.vamsas.client.events.documentUpdateEvent";
13   /**
14    * Generated when a new vamsas document is created (perhaps from some existing Vamsas data)
15    * so an application may do its own data space initialization.
16    * TODO: decide if this is called when an app is connected to a stored session...
17    */
18   public static final String DOCUMENT_CREATE="org.vamsas.client.events.documentCreateEvent";
19   /**
20    * Generated when a new vamsas client is attached to a session (Handle is passed)
21    * Note: the newly created client does not receive the event.
22    */
23   public static final String CLIENT_CREATION="org.vamsas.client.events.clientCreateEvent";
24   /**
25    * Generated when a vamsas client leaves a session (Handle is passed to all others).
26    */
27   public static final String CLIENT_FINALIZATION="org.vamsas.client.events.clientFinalizationEvent";
28   /**
29    * Generated prior to session Shutdown, after the last participating vamsas client has finalized.
30    */
31   public static final String SESSION_SHUTDOWN="org.vamsas.client.events.SessionShutdownEvent";
32   /**
33    * Generated by Vorba stub after the penultimate client makes a call to closeDocument().
34    * Sequence is as follows :
35    *    1. All other vamsas clients have called closeDocument()
36    *    2. Final living client monitors closures, and realises that it is last.
37    *    3. Final client generates event to prompt associated application to inquire if 
38    *       the user wishes to save the document for future reference.
39    *    
40    * *  Any call to closeDocument in a thread other than the registered EventListener 
41    *    will block until the RequestToClose handler has exited.
42    *    
43    */
44   public static final String DOCUMENT_REQUESTTOCLOSE="org.vamas.client.DocumentRequestToCloseEvent"; 
45   public static java.util.Vector EventList = initList();
46   private static java.util.Vector initList() {
47     java.util.Vector vec = new java.util.Vector();
48     vec.add((Object) DOCUMENT_UPDATE);
49     vec.add((Object) DOCUMENT_CREATE);
50     vec.add((Object) CLIENT_CREATION);
51     vec.add((Object) CLIENT_FINALIZATION);
52     vec.add((Object) SESSION_SHUTDOWN);
53     vec.add((Object) DOCUMENT_REQUESTTOCLOSE);
54     return vec;
55   }
56 }