Class 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 
      Constructor Description
      ActionResponseWrapper​(ActionResponse response)
      Creates an ActionResponse adaptor wrapping the given response object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
      • 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