org.apache.cocoon.portal.event
Interface Receiver

All Known Implementing Classes:
AbstractActionAspect, ApplicationCopletAdapter, BasketManagerImpl, CachingURICopletAdapter, DefaulCopletDataEventSubscriber, DefaultChangeAspectDataEventSubscriber, DefaultJXPathEventSubscriber, DefaultLayoutFactory, FullScreenCopletEventAspect, PortletAdapter, URICopletAdapter

public interface Receiver

A receiver registers its interest in a class of events through the EventManager. An event is an object of the interface Event or a subclass/interface of it. Usually a receiver is not interested in every event but only for some specific event types. These types are represented by an own subclass/interface. When a receiver subscribes itself at the event manager, the manager checks (using reflection) for occurances of the method "inform" on the receiver. The signature of the method consists of two parameters, where the first one is the event subclass and the second one the PortalService. If for example a receiver is interested in all CopletInstanceEvents then it subscribes using the event manager and should provide an inform method with the following signature: public void inform(CopletInstanceEvent event, PortalService). If a receiver is interested in more than one event type, then it can implement several inform methods each with the corresponding event class as the first parameter. However, it is important to notice that the current implementation of the event manager has some restrictions! A receiver should not implement to inform methods where one event is a subclass or subinterface of the other event. In that case only one method is called and it's not deterministic which one will be called (this may vary for example on the used operating system the code runs on!). This problem will be solved in 2.2.

Version:
CVS $Id: Receiver.html 1304258 2012-03-23 10:09:27Z ilgrosso $
Author:
Carsten Ziegeler



Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.