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