Portlet API 2

org.apache.jetspeed.portlet.event
Interface Event

All Known Subinterfaces:
ActionEvent, MessageEvent, WindowEvent

public interface Event

The Event is the base interface for all events that can occur whithin the portlet container. To be informed of events, a listener has to be registered with the respective event source.

The portlet container delivers all events to the respective event listeners (and thereby the portlets) before the content generation is started. Should a listener, while processing the event, find that another event needs to be generated, that event will be queued by the portlet container and delivered at a point of time that is at the discretion of the portlet container. It is only guarantued that it will be deliverd and that it will happen before the content generation phase.

This also means, that no further events will be delivered once the content generation phase has started. For example, message cannot be sent from within the service() methods. The resulting message event will not be delivered and essentially discarded.

Is this too strong? Should the API instead require the portlet container to keep the queue for the session so that events generated during content generation will be delivered in the event processing phase of the next request?

Intelligent portlet containers should provide a cyclic event detection mechanism, so that the portlet container does not come to a screaming halt, if two or more portlets happen to send each other events that are triggered by each other.


Method Summary
 PortletRequest getRequest()
          Returns the portlet request that has caused this event.
 PortletSession getSession()
          Returns the portlet session of the virtual instance that receives this event.
 

Method Detail

getRequest

public PortletRequest getRequest()
Returns the portlet request that has caused this event. If this event is not triggered by a request, this methods returns null.
Returns:
the portlet request

getSession

public PortletSession getSession()
Returns the portlet session of the virtual instance that receives this event.
Returns:
the portlet session

Portlet API 2