javax.servlet.http

## Class HttpServletResponseWrapper

- java.lang.Object
- - javax.servlet.ServletResponseWrapper
  - - javax.servlet.http.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
  Author:
    Various
  See Also:
    `HttpServletResponse`

- - ### Field Summary

    - ### Fields inherited from interface javax.servlet.http.HttpServletResponse

      `SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HttpServletResponseWrapper(HttpServletResponse response)` Constructs a response adaptor wrapping the given response.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addCookie(Cookie cookie)` The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
    `void` | `addDateHeader(String name, long date)` The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.
    `void` | `addHeader(String name, String value)` The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.
    `void` | `addIntHeader(String name, int value)` The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.
    `boolean` | `containsHeader(String name)` The default behavior of this method is to call containsHeader(String name) on the wrapped response object.
    `String` | `encodeRedirectUrl(String url)` Deprecated. As of version 2.1, use `encodeRedirectURL(String url)` instead
    `String` | `encodeRedirectURL(String url)` The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.
    `String` | `encodeUrl(String url)` Deprecated. As of version 2.1, use `encodeURL(String url)` instead
    `String` | `encodeURL(String url)` The default behavior of this method is to call encodeURL(String url) on the wrapped response object.
    `String` | `getHeader(String name)` The default behaviour of this method is to call `HttpServletResponse.getHeader(java.lang.String)` on the wrapped response object.
    `Collection<String>` | `getHeaderNames()` The default behaviour of this method is to call `HttpServletResponse.getHeaderNames()` on the wrapped response object.
    `Collection<String>` | `getHeaders(String name)` The default behaviour of this method is to call `HttpServletResponse.getHeaders(java.lang.String)` on the wrapped response object.
    `int` | `getStatus()` The default behaviour of this method is to call `HttpServletResponse.getStatus()` on the wrapped response object.
    `void` | `sendError(int sc)` The default behavior of this method is to call sendError(int sc) on the wrapped response object.
    `void` | `sendError(int sc, String msg)` The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.
    `void` | `sendRedirect(String location)` The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.
    `void` | `setDateHeader(String name, long date)` The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.
    `void` | `setHeader(String name, String value)` The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.
    `void` | `setIntHeader(String name, int value)` The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.
    `void` | `setStatus(int sc)` The default behavior of this method is to call setStatus(int sc) on the wrapped response object.
    `void` | `setStatus(int sc, 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)`

    - ### Methods inherited from class javax.servlet.ServletResponseWrapper

      `flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponse`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface javax.servlet.ServletResponse

      `flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale`

- - ### Constructor Detail

    - #### HttpServletResponseWrapper

          public HttpServletResponseWrapper(HttpServletResponse response)

      Constructs a response adaptor wrapping the given response.
      Throws:
        `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(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 String encodeURL(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.

    - #### encodeRedirectURL

          public String encodeRedirectURL(String url)

      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.
      See Also:
        `HttpServletResponse.sendRedirect(java.lang.String)`, `HttpServletResponse.encodeUrl(java.lang.String)`

    - #### encodeUrl

          public String encodeUrl(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

          public String encodeRedirectUrl(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,
                       String msg)
                         throws 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:
        `IOException` - If an input or output exception occurs

    - #### sendError

          public void sendError(int sc)
                         throws 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:
        `IOException` - If an input or output exception occurs

    - #### sendRedirect

          public void sendRedirect(String location)
                            throws 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:
        `IOException` - If an input or output exception occurs

    - #### setDateHeader

          public void setDateHeader(String name,
                           long date)

      The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.
      Specified by:
        `setDateHeader` in interface `HttpServletResponse`
      Parameters:
        `name` - the name of the header to set
        `date` - the assigned date value
      See Also:
        `HttpServletResponse.containsHeader(java.lang.String)`, `HttpServletResponse.addDateHeader(java.lang.String, long)`

    - #### addDateHeader

          public void addDateHeader(String name,
                           long date)

      The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.
      Specified by:
        `addDateHeader` in interface `HttpServletResponse`
      Parameters:
        `name` - the name of the header to set
        `date` - the additional date value
      See Also:
        `HttpServletResponse.setDateHeader(java.lang.String, long)`

    - #### setHeader

          public void setHeader(String name,
                       String value)

      The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.
      Specified by:
        `setHeader` in interface `HttpServletResponse`
      Parameters:
        `name` - the name of the header
        `value` - the 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.containsHeader(java.lang.String)`, `HttpServletResponse.addHeader(java.lang.String, java.lang.String)`

    - #### addHeader

          public void addHeader(String name,
                       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)`

    - #### setIntHeader

          public void setIntHeader(String name,
                          int value)

      The default behavior of this method is to call setIntHeader(String name, int value) on the wrapped response object.
      Specified by:
        `setIntHeader` in interface `HttpServletResponse`
      Parameters:
        `name` - the name of the header
        `value` - the assigned integer value
      See Also:
        `HttpServletResponse.containsHeader(java.lang.String)`, `HttpServletResponse.addIntHeader(java.lang.String, int)`

    - #### addIntHeader

          public void addIntHeader(String name,
                          int value)

      The default behavior of this method is to call addIntHeader(String name, int value) on the wrapped response object.
      Specified by:
        `addIntHeader` in interface `HttpServletResponse`
      Parameters:
        `name` - the name of the header
        `value` - the assigned integer value
      See Also:
        `HttpServletResponse.setIntHeader(java.lang.String, int)`

    - #### setStatus

          public void setStatus(int sc)

      The default behavior of this method is to call setStatus(int sc) on the wrapped response object.
      Specified by:
        `setStatus` in interface `HttpServletResponse`
      Parameters:
        `sc` - the status code
      See Also:
        `HttpServletResponse.sendError(int, java.lang.String)`

    - #### setStatus

          public void setStatus(int sc,
                       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

    - #### getStatus

          public int getStatus()

      The default behaviour of this method is to call `HttpServletResponse.getStatus()` on the wrapped response object.
      Specified by:
        `getStatus` in interface `HttpServletResponse`
      Returns:
        the current status code of the wrapped response

    - #### getHeader

          public String getHeader(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 Collection<String> getHeaders(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 Collection<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

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.