Class HttpServletResponseWrapper

  • All Implemented Interfaces:
    HttpServletResponse, ServletResponse


    public class HttpServletResponseWrapper
    extends ServletResponseWrapper
    implements HttpServletResponse
    Provides a convenient implementation of the HttpServletResponse interface that can be subclassed by developers wishing to adapt the response from a Servlet. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object.
    Since:
    Servlet 2.3
    See Also:
    HttpServletResponse
    • Constructor Detail

      • HttpServletResponseWrapper

        public HttpServletResponseWrapper​(HttpServletResponse response)
        Constructs a response adaptor wrapping the given response.
        Parameters:
        response - the HttpServletResponse to be wrapped.
        Throws:
        java.lang.IllegalArgumentException - if the response is null
    • Method Detail

      • addCookie

        public void addCookie​(Cookie cookie)
        The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
        Specified by:
        addCookie in interface HttpServletResponse
        Parameters:
        cookie - the Cookie to return to the client
      • containsHeader

        public boolean containsHeader​(java.lang.String name)
        The default behavior of this method is to call containsHeader(String name) on the wrapped response object.
        Specified by:
        containsHeader in interface HttpServletResponse
        Parameters:
        name - the header name
        Returns:
        true if the named response header has already been set; false otherwise
      • encodeURL

        public java.lang.String encodeURL​(java.lang.String url)
        The default behavior of this method is to call encodeURL(String url) on the wrapped response object.
        Specified by:
        encodeURL in interface HttpServletResponse
        Parameters:
        url - the url to be encoded.
        Returns:
        the encoded URL if encoding is needed; the unchanged URL otherwise.
      • encodeUrl

        @Deprecated
        public java.lang.String encodeUrl​(java.lang.String url)
        Deprecated. As of version 2.1, use encodeURL(String url) instead
        The default behavior of this method is to call encodeUrl(String url) on the wrapped response object.
        Specified by:
        encodeUrl in interface HttpServletResponse
        Parameters:
        url - the url to be encoded.
        Returns:
        the encoded URL if encoding is needed; the unchanged URL otherwise.
      • encodeRedirectUrl

        @Deprecated
        public java.lang.String encodeRedirectUrl​(java.lang.String url)
        Deprecated. As of version 2.1, use encodeRedirectURL(String url) instead
        The default behavior of this method is to return encodeRedirectUrl(String url) on the wrapped response object.
        Specified by:
        encodeRedirectUrl in interface HttpServletResponse
        Parameters:
        url - the url to be encoded.
        Returns:
        the encoded URL if encoding is needed; the unchanged URL otherwise.
      • sendError

        public void sendError​(int sc,
                              java.lang.String msg)
                       throws java.io.IOException
        The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.
        Specified by:
        sendError in interface HttpServletResponse
        Parameters:
        sc - the error status code
        msg - the descriptive message
        Throws:
        java.io.IOException - If an input or output exception occurs
      • sendError

        public void sendError​(int sc)
                       throws java.io.IOException
        The default behavior of this method is to call sendError(int sc) on the wrapped response object.
        Specified by:
        sendError in interface HttpServletResponse
        Parameters:
        sc - the error status code
        Throws:
        java.io.IOException - If an input or output exception occurs
      • sendRedirect

        public void sendRedirect​(java.lang.String location)
                          throws java.io.IOException
        The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.
        Specified by:
        sendRedirect in interface HttpServletResponse
        Parameters:
        location - the redirect location URL
        Throws:
        java.io.IOException - If an input or output exception occurs
      • addHeader

        public void addHeader​(java.lang.String name,
                              java.lang.String value)
        The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.
        Specified by:
        addHeader in interface HttpServletResponse
        Parameters:
        name - the name of the header
        value - the additional header value If it contains octet string, it should be encoded according to RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
        See Also:
        HttpServletResponse.setHeader(java.lang.String, java.lang.String)
      • setStatus

        @Deprecated
        public void setStatus​(int sc,
                              java.lang.String sm)
        Deprecated. As of version 2.1, due to ambiguous meaning of the message parameter. To set a status code use setStatus(int), to send an error with a description use sendError(int, String)
        The default behavior of this method is to call setStatus(int sc, String sm) on the wrapped response object.
        Specified by:
        setStatus in interface HttpServletResponse
        Parameters:
        sc - the status code
        sm - the status message
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        The default behaviour of this method is to call HttpServletResponse.getHeader(java.lang.String) on the wrapped response object.
        Specified by:
        getHeader in interface HttpServletResponse
        Parameters:
        name - the name of the response header whose value to return
        Returns:
        the value of the response header with the given name, or null if no header with the given name has been set on the wrapped response
        Since:
        Servlet 3.0
      • getHeaders

        public java.util.Collection<java.lang.String> getHeaders​(java.lang.String name)
        The default behaviour of this method is to call HttpServletResponse.getHeaders(java.lang.String) on the wrapped response object.

        Any changes to the returned Collection must not affect this HttpServletResponseWrapper.

        Specified by:
        getHeaders in interface HttpServletResponse
        Parameters:
        name - the name of the response header whose values to return
        Returns:
        a (possibly empty) Collection of the values of the response header with the given name
        Since:
        Servlet 3.0
      • getHeaderNames

        public java.util.Collection<java.lang.String> getHeaderNames​()
        The default behaviour of this method is to call HttpServletResponse.getHeaderNames() on the wrapped response object.

        Any changes to the returned Collection must not affect this HttpServletResponseWrapper.

        Specified by:
        getHeaderNames in interface HttpServletResponse
        Returns:
        a (possibly empty) Collection of the names of the response headers
        Since:
        Servlet 3.0
      • getTrailerFields

        public java.util.function.Supplier<java.util.Map<java.lang.String,java.lang.String>> getTrailerFields​()
        The default behaviour of this method is to call HttpServletResponse.getTrailerFields() on the wrapped response object.
        Specified by:
        getTrailerFields in interface HttpServletResponse
        Returns:
        supplier of trailer headers
        Since:
        Servlet 4.0