+package org.vamsas.client;\r
+\r
+/**\r
+ * Methods implemented by a Vamsas Application's Object Update handler\r
+ * @author vamsas\r
+ * Introduced November 2006 Vamsas Meeting\r
+ * TODO: verify this is sufficient for the per-object update event mechanism\r
+ */\r
+interface IObjectUpdate {\r
+ /**\r
+ * Called by the library to find out which vamsas document object this update handler is interested in\r
+ * @return class that extends org.vamsas.Vobject\r
+ */\r
+ Class getRootVobject();\r
+ /**\r
+ * Called to test if this handler is to be called for updates to any Vobjects below the Root Vobject in the vamsas document.\r
+ * @return false means IObjectUpdate.update(updated, cdoc) will only be called with instances of type getRootVobject(). \r
+ */\r
+ boolean handlesSubtreeUpdates();\r
+ /**\r
+ * Method called by Vamsas Client Library for all updated objects that the handler is registered for.\r
+ * @param updated\r
+ * @param cdoc\r
+ */\r
+ void update(org.vamsas.client.Vobject updated, org.vamsas.client.IClientDocument cdoc);\r
+}\r