package context.arch.handler; import context.arch.comm.DataObject; import context.arch.InvalidMethodException; import context.arch.MethodException; import context.arch.comm.clients.IndependentCommunication; /** * This empty interface allows the Handlers class to keep track of * handlers. Any component that subscribes to widgets should extend this interface. * * @see context.arch.handler.Handlers */ public interface Handler { /** * This abstract method is used to generically handle any callbacks that a widget * may support. A context widget will call handle when a callback is triggered * in the widget and the handler has subscribed to that callback. * * @param callback The name of the widget callback (on the subscriber side) triggered * @param data DataObject containing the data for the widget callback * @return DataObject containing any directives to the widget that created the callback * @exception context.arch.InvalidMethodException if the specified callback can't be found * @exception context.arch.MethodException is thrown if the specified callback can not be * executed successfully */ public abstract DataObject handleCallback(String subscriptionId, DataObject data) throws InvalidMethodException, MethodException; public abstract DataObject handleSubscriptionCallback(String subscriptionId, DataObject data) throws InvalidMethodException, MethodException; /** * This method is used to forward the result of an independent communication */ public abstract void handleIndependentReply(IndependentCommunication independentCommunication); }