Class ActionResponseWrapper

    • Constructor Detail

      • ActionResponseWrapper

        public ActionResponseWrapper​(ActionResponse response)
        Creates an ActionResponse adaptor wrapping the given response object.
        Parameters:
        response - the action response to wrap
        Throws:
        IllegalArgumentException - if the response is null
    • Method Detail

      • setResponse

        public void setResponse​(ActionResponse response)
        Sets the response object being wrapped.
        Parameters:
        response - the response to set
        Throws:
        IllegalArgumentException - if the response is null.
      • sendRedirect

        public void sendRedirect​(String location)
                          throws IOException
        Description copied from interface: ActionResponse
        Instructs the portlet container to send a redirect response to the client using the specified redirect location URL.

        This method only accepts an absolute URL (e.g. http://my.co/myportal/mywebap/myfolder/myresource.gif) or a full path URI (e.g. /myportal/mywebap/myfolder/myresource.gif). If required, the portlet container may encode the given URL before the redirection is issued to the client.

        The sendRedirect method cannot be invoked after any of the following methods of the ActionResponse interface has been called:

        • setPortletMode
        • setWindowState
        • setRenderParameter
        • setRenderParameters
        • removePublicRenderParamter
        • getRenderParameters
        Specified by:
        sendRedirect in interface ActionResponse
        Parameters:
        location - the redirect location URL
        Throws:
        IOException - if an input or output exception occurs.
      • sendRedirect

        public void sendRedirect​(String location,
                                 String renderUrlParamName)
                          throws IOException
        Description copied from interface: ActionResponse
        Instructs the portlet container to send a redirect response to the client using the specified redirect location URL and encode a render URL as parameter on the redirect URL.

        This method only accepts an absolute URL (e.g. http://my.co/myportal/mywebap/myfolder/myresource.gif) or a full path URI (e.g. /myportal/mywebap/myfolder/myresource.gif). If required, the portlet container may encode the given URL before the redirection is issued to the client.

        The portlet container will attach a render URL with the currently set portlet mode, window state and render parameters on the ActionResponse and the current public render parameters. The attached URL will be available as query parameter value under the key provided with the renderUrlParamName parameter.

        New values for

        • setPortletMode
        • setWindowState
        • setRenderParameter
        • setRenderParameters
        • getRenderParameters
        are only used for creating the render URL and not remembered after the redirect is issued.
        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:
        IOException - if an input or output exception occurs.
      • createRedirectURL

        public RenderURL createRedirectURL​(MimeResponse.Copy option)
                                    throws IllegalStateException
        Description copied from interface: ActionResponse
        Returns a render URL containing render parameters according to the MimeResponse.Copy argument. The portlet may modify the returned render URL. The URL is intended to be used in the sendRedirect(String location) method to allow the portlet to force a redirect to the same page with modified render state. * Creates a render URL targeting the current portlet.

        The createRedirectURL method cannot be invoked after any of the following methods of the ActionResponse interface has been called:

        • setPortletMode
        • setWindowState
        • setRenderParameter
        • setRenderParameters
        • removePublicRenderParameter
        • getRenderParameters

        The new render URL will contain render parameters from the current request as specified by the option parameter.

        NONE
        All public and private parameters are removed from the URL.
        ALL
        The public and private parameters governing the current request are added to the URL.
        PUBLIC
        Only public parameters governing the current request are added to the URL.
        The URL can be further extended by adding render parameters, portlet mode, and window state. If no additional portlet mode, window state or security modifier is set on the URL, the values from the current render or resource request are preserved.

        If a public render parameter value is set or removed on a render URL, then the public render parameter will be set to the new value or removed when the URL is activated.

        Specified by:
        createRedirectURL in interface ActionResponse
        Parameters:
        option - Specifies how current parameters are to be copied to the URL
        Returns:
        a portlet render URL
        Throws:
        IllegalStateException - if the method is invoked after any of above mentioned methods of the ActionResponse interface has been called.
        See Also:
        MimeResponse.Copy