javax.portlet.filter
Class EventResponseWrapper

java.lang.Object
  extended by javax.portlet.filter.PortletResponseWrapper
      extended by javax.portlet.filter.EventResponseWrapper
All Implemented Interfaces:
EventResponse, PortletResponse, StateAwareResponse

public class EventResponseWrapper
extends PortletResponseWrapper
implements EventResponse

The EventResponseWrapper provides a convenient implementation of the EventResponse interface that can be subclassed by developers wishing to adapt the response. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object.

Since:
2.0
See Also:
EventResponse

Constructor Summary
EventResponseWrapper(EventResponse response)
          Creates an EventResponse adaptor wrapping the given response object.
 
Method Summary
 PortletMode getPortletMode()
          The default behavior of this method is to call getPortletMode() on the wrapped response object.
 java.util.Map<java.lang.String,java.lang.String[]> getRenderParameterMap()
          The default behavior of this method is to call getRenderParameterMap() on the wrapped response object.
 EventResponse getResponse()
          Return the wrapped response object.
 WindowState getWindowState()
          The default behavior of this method is to call getWindowState() on the wrapped response object.
 void removePublicRenderParameter(java.lang.String name)
          The default behavior of this method is to call removePublicRenderParameter() on the wrapped response object.
 void setEvent(javax.xml.namespace.QName name, java.io.Serializable value)
          The default behavior of this method is to call setEvent(name, value) on the wrapped response object.
 void setEvent(java.lang.String name, java.io.Serializable value)
          The default behavior of this method is to call setEvent() on the wrapped response object.
 void setPortletMode(PortletMode portletMode)
          The default behavior of this method is to call setPortletMode(portletMode) on the wrapped response object.
 void setRenderParameter(java.lang.String key, java.lang.String value)
          The default behavior of this method is to call setRenderParameter(key, value) on the wrapped response object.
 void setRenderParameter(java.lang.String key, java.lang.String[] values)
          The default behavior of this method is to call setRenderParameter(key, value) on the wrapped response object.
 void setRenderParameters(EventRequest request)
          The default behavior of this method is to call setRenderParameters() on the wrapped response object.
 void setRenderParameters(java.util.Map<java.lang.String,java.lang.String[]> parameters)
          The default behavior of this method is to call setRenderParameters(parameters) on the wrapped response object.
 void setResponse(EventResponse response)
          Sets the response object being wrapped.
 void setWindowState(WindowState windowState)
          The default behavior of this method is to call setWindowState(windowState) on the wrapped response object.
 
Methods inherited from class javax.portlet.filter.PortletResponseWrapper
addProperty, addProperty, addProperty, createElement, encodeURL, getNamespace, setProperty, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.portlet.PortletResponse
addProperty, addProperty, addProperty, createElement, encodeURL, getNamespace, setProperty
 

Constructor Detail

EventResponseWrapper

public EventResponseWrapper(EventResponse response)
Creates an EventResponse adaptor wrapping the given response object.

Parameters:
response - the event response to wrap
Throws:
java.lang.IllegalArgumentException - if the response is null
Method Detail

setEvent

public void setEvent(javax.xml.namespace.QName name,
                     java.io.Serializable value)
The default behavior of this method is to call setEvent(name, value) on the wrapped response object.

Specified by:
setEvent in interface StateAwareResponse
Parameters:
name - the event name to publish, must not be null
value - the value of this event, must have a valid JAXB binding and be serializable, or null.

setPortletMode

public void setPortletMode(PortletMode portletMode)
                    throws PortletModeException
The default behavior of this method is to call setPortletMode(portletMode) on the wrapped response object.

Specified by:
setPortletMode in interface StateAwareResponse
Parameters:
portletMode - the new portlet mode
Throws:
PortletModeException - if the portlet cannot switch to this portlet mode, because the portlet or portal does not support it for this markup, or the current user is not allowed to switch to this portlet mode. To avoid this exception the portlet can check the allowed portlet modes with Request.isPortletModeAllowed().

setRenderParameter

public void setRenderParameter(java.lang.String key,
                               java.lang.String value)
The default behavior of this method is to call setRenderParameter(key, value) on the wrapped response object.

Specified by:
setRenderParameter in interface StateAwareResponse
Parameters:
key - key of the render parameter
value - value of the render parameter

setRenderParameter

public void setRenderParameter(java.lang.String key,
                               java.lang.String[] values)
The default behavior of this method is to call setRenderParameter(key, value) on the wrapped response object.

Specified by:
setRenderParameter in interface StateAwareResponse
Parameters:
key - key of the render parameter
values - values of the render parameter

setRenderParameters

public void setRenderParameters(java.util.Map<java.lang.String,java.lang.String[]> parameters)
The default behavior of this method is to call setRenderParameters(parameters) on the wrapped response object.

Specified by:
setRenderParameters in interface StateAwareResponse
Parameters:
parameters - Map containing parameter names for the render phase as keys and parameter values as map values. The keys in the parameter map must be of type String. The values in the parameter map must be of type String array (String[]).

setWindowState

public void setWindowState(WindowState windowState)
                    throws WindowStateException
The default behavior of this method is to call setWindowState(windowState) on the wrapped response object.

Specified by:
setWindowState in interface StateAwareResponse
Parameters:
windowState - the new portlet window state
Throws:
WindowStateException - if the portlet cannot switch to the specified window state. To avoid this exception the portlet can check the allowed window states with Request.isWindowStateAllowed().
See Also:
WindowState

getResponse

public EventResponse getResponse()
Return the wrapped response object.

Overrides:
getResponse in class PortletResponseWrapper
Returns:
the wrapped response

setResponse

public void setResponse(EventResponse response)
Sets the response object being wrapped.

Parameters:
response - the response to set
Throws:
java.lang.IllegalArgumentException - if the response is null.

getPortletMode

public PortletMode getPortletMode()
The default behavior of this method is to call getPortletMode() on the wrapped response object.

Specified by:
getPortletMode in interface StateAwareResponse
Returns:
the portlet mode, or null if none is set

getRenderParameterMap

public java.util.Map<java.lang.String,java.lang.String[]> getRenderParameterMap()
The default behavior of this method is to call getRenderParameterMap() on the wrapped response object.

Specified by:
getRenderParameterMap in interface StateAwareResponse
Returns:
Map containing render parameter names as keys and parameter values as map values, or an empty Map if no parameters exist. The keys in the parameter map are of type String. The values in the parameter map are of type String array (String[]).

getWindowState

public WindowState getWindowState()
The default behavior of this method is to call getWindowState() on the wrapped response object.

Specified by:
getWindowState in interface StateAwareResponse
Returns:
the window state, or null if none is set

setRenderParameters

public void setRenderParameters(EventRequest request)
The default behavior of this method is to call setRenderParameters() on the wrapped response object.

Specified by:
setRenderParameters in interface EventResponse
Parameters:
request - The request the portlet has been provided with by the portlet container for the current processEvent call, must not be null.

setEvent

public void setEvent(java.lang.String name,
                     java.io.Serializable value)
The default behavior of this method is to call setEvent() on the wrapped response object.

Specified by:
setEvent in interface StateAwareResponse
Parameters:
name - the local part of the event name to publish, must not be null
value - the value of this event, must have a valid JAXB binding and be serializable, or null.

removePublicRenderParameter

public void removePublicRenderParameter(java.lang.String name)
The default behavior of this method is to call removePublicRenderParameter() on the wrapped response object.

Specified by:
removePublicRenderParameter in interface StateAwareResponse
Parameters:
name - a String specifying the name of the public render parameter to be removed