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:
  v 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
`void` `addCookie(Cookie cookie)` The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
`void` `addDateHeader(java.lang.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(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.
`void` `addIntHeader(java.lang.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(java.lang.String name)` The default behavior of this method is to call containsHeader(String name) on the wrapped response object.
`java.lang.String` `encodeRedirectUrl(java.lang.String url)` Deprecated. As of Version 3.0 of the Java Servlet API
`java.lang.String` `encodeRedirectURL(java.lang.String url)` The default behavior of this method is to return encodeRedirectURL(String url) on the wrapped response object.
`java.lang.String` `encodeUrl(java.lang.String url)` Deprecated. As of Version 3.0 of the Java Servlet API
`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.
`java.lang.String` `getHeader(java.lang.String name)` Return the value for the specified header, or `null` if this header has not been set.
`java.util.Collection<java.lang.String>` `getHeaderNames()` Return an Iterable of all the header names set for this response.
`java.util.Collection<java.lang.String>` `getHeaders(java.lang.String name)` Return a Collection of all the header values associated with the specified header name.
`int` `getStatus()` Return the HTTP status code associated with this Response.
`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, java.lang.String msg)` The default behavior of this method is to call sendError(int sc, String msg) on the wrapped response object.
`void` `sendRedirect(java.lang.String location)` The default behavior of this method is to return sendRedirect(String location) on the wrapped response object.
`void` `setDateHeader(java.lang.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(java.lang.String name, java.lang.String value)` The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.
`void` `setIntHeader(java.lang.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, java.lang.String sm)` Deprecated. As of Version 3.0 of the Java Servlet API

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

`flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, 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, setContentType, setLocale`

### Constructor Detail

#### HttpServletResponseWrapper

    public HttpServletResponseWrapper(HttpServletResponse response)

Constructs a response adaptor wrapping the given response.

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.

#### encodeRedirectURL

    public java.lang.String encodeRedirectURL(java.lang.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 java.lang.String encodeUrl(java.lang.String url)

Deprecated. As of Version 3.0 of the Java Servlet API
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 java.lang.String encodeRedirectUrl(java.lang.String url)

Deprecated. As of Version 3.0 of the Java Servlet API
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

#### setDateHeader

    public void setDateHeader(java.lang.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(java.lang.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(java.lang.String name,
                 java.lang.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(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)`

#### setIntHeader

    public void setIntHeader(java.lang.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(java.lang.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,
                 java.lang.String sm)

Deprecated. As of Version 3.0 of the Java Servlet API
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()

Return the HTTP status code associated with this Response.

The default implementation is to call `HttpServletResponse.getStatus()` on the wrapper `HttpServletResponse`.

Specified by:
  `getStatus` in interface `HttpServletResponse`
Since:
  Servlet 3.0

#### getHeader

    public java.lang.String getHeader(java.lang.String name)

Return the value for the specified header, or `null` if this header has not been set. If more than one value was added for this name, only the first is returned; use `HttpServletResponse.getHeaders(String)` to retrieve all of them.

The default implementation is to call `HttpServletResponse.getHeader(String)` on the wrapper `HttpServletResponse`.

Specified by:
  `getHeader` in interface `HttpServletResponse`
Parameters:
  `name` - Header name to look up
Since:
  Servlet 3.0

#### getHeaders

    public java.util.Collection<java.lang.String> getHeaders(java.lang.String name)

Return a Collection of all the header values associated with the specified header name.

The default implementation is to call `HttpServletResponse.getHeaders(String)` on the wrapper `HttpServletResponse`.

Specified by:
  `getHeaders` in interface `HttpServletResponse`
Parameters:
  `name` - Header name to look up
Since:
  Servlet 3.0

#### getHeaderNames

    public java.util.Collection<java.lang.String> getHeaderNames()

Return an Iterable of all the header names set for this response.

The default implementation is to call `HttpServletResponse.getHeaderNames()` on the wrapper `HttpServletResponse`.

Specified by:
  `getHeaderNames` in interface `HttpServletResponse`
Since:
  Servlet 3.0