Package javax.portlet.filter

## Class ActionResponseWrapper

- java.lang.Object
- - javax.portlet.filter.PortletResponseWrapper
  - - 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

Constructors
`ActionResponseWrapper​(ActionResponse response)` Creates an `ActionResponse` adaptor wrapping the given response object.

### Method Summary

All Methods Instance Methods Concrete Methods
`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​(java.lang.String name, java.io.Serializable value)` The default behavior of this method is to call `setEvent()` 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` `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