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 (perhaps from some existing
+ * Vamsas data) so an application may do its own data space initialization.
+ * Raised for a new application connecting to a vamsas document
+ * which contains no existing data for that application.
+ */
+ 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 to all
+ * others).
+ */
+ 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 for all clients when any client calls IClient.storeDocument() to
+ * allow them to store any updates before an offline copy of the session is
+ * created. Any client that handles this should call the
+ * IClient.getDocument(), update and then IClient.updateDocument in the same
+ * handler thread (the lock on the document is held until the handler exits).
+ * EventName: <Vamsas-session URN>
+ * NewValue: org.vamsas.client.IClient for session.
+ */
+ public static final String DOCUMENT_FINALIZEAPPDATA = "org.vamsas.client.events.DocumentFinalizeAppData";
+
+ /**
+ * Generated by Vorba stub for the sole remaining client, after the penultimate
+ * client makes a call to finalizeClient(). It is only raised if the session has been modified since the
+ * last call to storeDocument() by any application.
+ * LATER: copies of a document should be on a per-user basis for multi-user sessions.
+ * Sequence is as follows : 1. All other vamsas clients have
+ * called finalizeClient() 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 finalizeClient 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);
+ vec.add((Object) DOCUMENT_FINALIZEAPPDATA);
+ return vec;
+ }
}