Package lumis.portal.event

The portal event framework allows the sending of events and the register of observers to receive such events.

Operations of the event framework are available in the IPortalEventManager interface, whose instance is available at ManagerFactory.getPortalEventManager().

Events must implement IPortalEvent. The events may be sent using the IPortalEventManager.notifyObservers(lumis.portal.event.IPortalEvent) method. The abstract event implementations AbstractPortalEvent and AbstractTransactionalPortalEvent makes creating new events easier.

Observers must implement IPortalEventObserver. Observers may be registered using the IPortalEventManager API or using the Portal Configuration front-end. It is recommended to extend the AbstractPortalEventObserver class instead of implementing the observer interface directly.

When the IPortalEventManager.notifyObservers(IPortalEvent) method is called, each enabled observer is notified of the given event through the IPortalEventObserver.onEvent(IPortalEvent) method, if that observer's filter (specified by IPortalEventObserver.getEventFilter()) accepts the event.

The execution of IPortalEventFilter.accept(IPortalEvent) and IPortalEventObserver.onEvent(IPortalEvent) must not be time consuming, as it may impact the overall time response of the portal.

Since:
4.0.0
Version:
$Revision$ $Date$
See Also:
IPortalEvent, IPortalEventObserver, IPortalEventManager