javax.portlet.filter
Class ActionResponseWrapper

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

public class ActionResponseWrapper
extends PortletResponseWrapper
implements ActionResponse

The ActionResponseWrapper provides a convenient implementation of the ActionResponse 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:
ActionResponse

Constructor Summary
ActionResponseWrapper(ActionResponse response)
          Creates an ActionResponse 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.
 ActionResponse 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 sendRedirect(java.lang.String location)
          The default behavior of this method is to call sendRedirect(location) on the wrapped response object.
 void sendRedirect(java.lang.String location, java.lang.String renderUrlParamName)
          The default behavior of this method is to call sendRedirect(location, renderUrlParamName) 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(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(ActionResponse 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

ActionResponseWrapper

public ActionResponseWrapper(ActionResponse response)
Creates an ActionResponse adaptor wrapping the given response object.

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

sendRedirect

public void sendRedirect(java.lang.String location)
                  throws java.io.IOException
The default behavior of this method is to call sendRedirect(location) on the wrapped response object.

Specified by:
sendRedirect in interface ActionResponse
Parameters:
location - the redirect location URL
Throws:
java.io.IOException - if an input or output exception occurs.

sendRedirect

public void sendRedirect(java.lang.String location,
                         java.lang.String renderUrlParamName)
                  throws java.io.IOException
The default behavior of this method is to call sendRedirect(location, renderUrlParamName) on the wrapped response object.

Specified by:
sendRedirect in interface ActionResponse
Parameters:
location - the redirect location URL
renderUrlParamName - name of the query parameter under which the portlet container should store a render URL to this portlet
Throws:
java.io.IOException - if an input or output exception occurs.

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 ActionResponse getResponse()
Return the wrapped response object.

Overrides:
getResponse in class PortletResponseWrapper
Returns:
the wrapped response

setResponse

public void setResponse(ActionResponse 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

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