part implementation of simpleClient and refactoring of ClientDocument.
[vamsas.git] / src / org / vamsas / client / Events.java
index 1864790..f03d042 100644 (file)
@@ -1,14 +1,55 @@
 package org.vamsas.client;
+/**
+ * Enumerates the event types generated 
+ * during the lifecycle of a Vamsas session.
+ */
 
 public class Events {
-    /**
-     * Event types generated during the lifecycle of a Vamsas session.
-     */
-
-    public static final String DOCUMENT_UPDATE="org.vamsas.client.documentUpdateEvent";
-    public static final String DOCUMENT_CREATE="org.vamsas.client.documentCreateEvent";
-    public static final String CLIENT_CREATION="org.vamsas.client.clientCreateEvent";
-    public static final String CLIENT_FINALIZATION="org.vamsas.client.clientFinalizationEvent";
-    public static final String SESSION_SHUTDOWN; //
-    public static final String DOCUMENT_CLOSE; //
+  /**
+   * Generated when a client has finished updating the document. 
+   * Passes applicationHandle of client so the updating client can recognise its own updates.
+   */
+  public static final String DOCUMENT_UPDATE="org.vamsas.client.events.documentUpdateEvent";
+  /**
+   * Generated when a new vamsas document is created 
+   * so an application may do its own data space initialization
+   */
+  public static final String DOCUMENT_CREATE="org.vamsas.client.events.documentCreateEvent";
+  /**
+   * Generated when a new vamsas client is attached to a session (Handle is passed)
+   * Note: the newly created client does not receive the event.
+   */
+  public static final String CLIENT_CREATION="org.vamsas.client.events.clientCreateEvent";
+  /**
+   * Generated when a vamsas client leaves a session (Handle is passed).
+   */
+  public static final String CLIENT_FINALIZATION="org.vamsas.client.events.clientFinalizationEvent";
+  /**
+   * Generated prior to session Shutdown, after the last participating vamsas client has finalized.
+   */
+  public static final String SESSION_SHUTDOWN="org.vamsas.client.events.SessionShutdownEvent";
+  /**
+   * Generated by Vorba stub after the penultimate client makes a call to closeDocument().
+   * Sequence is as follows :
+   *   1. All other vamsas clients have called closeDocument()
+   *   2. Final living client monitors closures, and realises that it is last.
+   *   3. Final client generates event to prompt associated application to inquire if 
+   *      the user wishes to save the document for future reference.
+   *    
+   * *         Any call to closeDocument in a thread other than the registered EventListener 
+   *    will block until the RequestToClose handler has exited.
+   *   
+   */
+  public static final String DOCUMENT_REQUESTTOCLOSE="org.vamas.client.DocumentRequestToCloseEvent"; 
+  public static java.util.Vector EventList = initList();
+  private static java.util.Vector initList() {
+    java.util.Vector vec = new java.util.Vector();
+    vec.add((Object) DOCUMENT_UPDATE);
+    vec.add((Object) DOCUMENT_CREATE);
+    vec.add((Object) CLIENT_CREATION);
+    vec.add((Object) CLIENT_FINALIZATION);
+    vec.add((Object) SESSION_SHUTDOWN);
+    vec.add((Object) DOCUMENT_REQUESTTOCLOSE);
+    return vec;
+  }
 }