Package javax.servlet

## Class ServletResponseWrapper

- java.lang.Object
- - javax.servlet.ServletResponseWrapper

All Implemented Interfaces:
  `ServletResponse`

Direct Known Subclasses:
  `HttpServletResponseWrapper`

    public class ServletResponseWrapper
    extends java.lang.Object
    implements ServletResponse

Provides a convenient implementation of the ServletResponse 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:
  `ServletResponse`

### Constructor Summary

Constructors
`ServletResponseWrapper​(ServletResponse response)` Creates a ServletResponse adaptor wrapping the given response object.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `flushBuffer()` The default behavior of this method is to call flushBuffer() on the wrapped response object.
`int` `getBufferSize()` The default behavior of this method is to return getBufferSize() on the wrapped response object.
`java.lang.String` `getCharacterEncoding()` The default behavior of this method is to return getCharacterEncoding() on the wrapped response object.
`java.lang.String` `getContentType()` The default behavior of this method is to return getContentType() on the wrapped response object.
`java.util.Locale` `getLocale()` The default behavior of this method is to return getLocale() on the wrapped response object.
`ServletOutputStream` `getOutputStream()` The default behavior of this method is to return getOutputStream() on the wrapped response object.
`ServletResponse` `getResponse()` Return the wrapped ServletResponse object.
`java.io.PrintWriter` `getWriter()` The default behavior of this method is to return getWriter() on the wrapped response object.
`boolean` `isCommitted()` The default behavior of this method is to return isCommitted() on the wrapped response object.
`boolean` `isWrapperFor​(java.lang.Class<?> wrappedType)` TODO SERVLET3 - Add comments
`boolean` `isWrapperFor​(ServletResponse wrapped)` TODO SERVLET3 - Add comments
`void` `reset()` The default behavior of this method is to call reset() on the wrapped response object.
`void` `resetBuffer()` The default behavior of this method is to call resetBuffer() on the wrapped response object.
`void` `setBufferSize​(int size)` The default behavior of this method is to call setBufferSize(int size) on the wrapped response object.
`void` `setCharacterEncoding​(java.lang.String charset)` The default behavior of this method is to call setCharacterEncoding(String charset) on the wrapped response object.
`void` `setContentLength​(int len)` The default behavior of this method is to call setContentLength(int len) on the wrapped response object.
`void` `setContentLengthLong​(long length)` The default behavior of this method is to call setContentLengthLong(long len) on the wrapped response object.
`void` `setContentType​(java.lang.String type)` The default behavior of this method is to call setContentType(String type) on the wrapped response object.
`void` `setLocale​(java.util.Locale loc)` The default behavior of this method is to call setLocale(Locale loc) on the wrapped response object.
`void` `setResponse​(ServletResponse response)` Sets the response being wrapped.

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

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

### Constructor Detail

#### ServletResponseWrapper

    public ServletResponseWrapper​(ServletResponse response)

Creates a ServletResponse adaptor wrapping the given response object.

Parameters:
  `response` - The response to wrap
Throws:
  `java.lang.IllegalArgumentException` - if the response is null.

### Method Detail

#### getResponse

    public ServletResponse getResponse()

Return the wrapped ServletResponse object.

Returns:
  The wrapped ServletResponse object.

#### setResponse

    public void setResponse​(ServletResponse response)

Sets the response being wrapped.

Parameters:
  `response` - The new response to wrap
Throws:
  `java.lang.IllegalArgumentException` - if the response is null.

#### setCharacterEncoding

    public void setCharacterEncoding​(java.lang.String charset)

The default behavior of this method is to call setCharacterEncoding(String charset) on the wrapped response object.

Specified by:
  `setCharacterEncoding` in interface `ServletResponse`
Parameters:
  `charset` - a String specifying only the character set defined by IANA Character Sets (http://www.iana.org/assignments/character-sets)
Since:
  Servlet 2.4
See Also:
  `#setLocale`

#### getCharacterEncoding

    public java.lang.String getCharacterEncoding()

The default behavior of this method is to return getCharacterEncoding() on the wrapped response object.

Specified by:
  `getCharacterEncoding` in interface `ServletResponse`
Returns:
  a `String` specifying the name of the character encoding, for example, `UTF-8`

#### getOutputStream

    public ServletOutputStream getOutputStream()
                                        throws java.io.IOException

The default behavior of this method is to return getOutputStream() on the wrapped response object.

Specified by:
  `getOutputStream` in interface `ServletResponse`
Returns:
  a `ServletOutputStream` for writing binary data
Throws:
  `java.io.IOException` - if an input or output exception occurred
See Also:
  `ServletResponse.getWriter()`

#### getWriter

    public java.io.PrintWriter getWriter()
                                  throws java.io.IOException

The default behavior of this method is to return getWriter() on the wrapped response object.

Specified by:
  `getWriter` in interface `ServletResponse`
Returns:
  a `PrintWriter` object that can return character data to the client
Throws:
  `java.io.UnsupportedEncodingException` - if the character encoding returned by `getCharacterEncoding` cannot be used
  `java.io.IOException` - if an input or output exception occurred
See Also:
  `ServletResponse.getOutputStream()`, `ServletResponse.setCharacterEncoding(java.lang.String)`

#### setContentLength

    public void setContentLength​(int len)

The default behavior of this method is to call setContentLength(int len) on the wrapped response object.

Specified by:
  `setContentLength` in interface `ServletResponse`
Parameters:
  `len` - an integer specifying the length of the content being returned to the client; sets the Content-Length header

#### setContentLengthLong

    public void setContentLengthLong​(long length)

The default behavior of this method is to call setContentLengthLong(long len) on the wrapped response object.

Specified by:
  `setContentLengthLong` in interface `ServletResponse`
Parameters:
  `length` - an integer specifying the length of the content being returned to the client; sets the Content-Length header
Since:
  Servlet 3.1

#### setContentType

    public void setContentType​(java.lang.String type)

The default behavior of this method is to call setContentType(String type) on the wrapped response object.

Specified by:
  `setContentType` in interface `ServletResponse`
Parameters:
  `type` - a `String` specifying the MIME type of the content
See Also:
  `ServletResponse.setLocale(java.util.Locale)`, `ServletResponse.setCharacterEncoding(java.lang.String)`, `ServletResponse.getOutputStream()`, `ServletResponse.getWriter()`

#### getContentType

    public java.lang.String getContentType()

The default behavior of this method is to return getContentType() on the wrapped response object.

Specified by:
  `getContentType` in interface `ServletResponse`
Returns:
  a `String` specifying the content type, for example, `text/html; charset=UTF-8`, or null
Since:
  Servlet 2.4

#### setBufferSize

    public void setBufferSize​(int size)

The default behavior of this method is to call setBufferSize(int size) on the wrapped response object.

Specified by:
  `setBufferSize` in interface `ServletResponse`
Parameters:
  `size` - the preferred buffer size
See Also:
  `ServletResponse.getBufferSize()`, `ServletResponse.flushBuffer()`, `ServletResponse.isCommitted()`, `ServletResponse.reset()`

#### getBufferSize

    public int getBufferSize()

The default behavior of this method is to return getBufferSize() on the wrapped response object.

Specified by:
  `getBufferSize` in interface `ServletResponse`
Returns:
  the actual buffer size used
See Also:
  `ServletResponse.setBufferSize(int)`, `ServletResponse.flushBuffer()`, `ServletResponse.isCommitted()`, `ServletResponse.reset()`

#### flushBuffer

    public void flushBuffer()
                     throws java.io.IOException

The default behavior of this method is to call flushBuffer() on the wrapped response object.

Specified by:
  `flushBuffer` in interface `ServletResponse`
Throws:
  `java.io.IOException` - if an I/O occurs during the flushing of the response
See Also:
  `ServletResponse.setBufferSize(int)`, `ServletResponse.getBufferSize()`, `ServletResponse.isCommitted()`, `ServletResponse.reset()`

#### isCommitted

    public boolean isCommitted()

The default behavior of this method is to return isCommitted() on the wrapped response object.

Specified by:
  `isCommitted` in interface `ServletResponse`
Returns:
  a boolean indicating if the response has been committed
See Also:
  `ServletResponse.setBufferSize(int)`, `ServletResponse.getBufferSize()`, `ServletResponse.flushBuffer()`, `ServletResponse.reset()`

#### reset

    public void reset()

The default behavior of this method is to call reset() on the wrapped response object.

Specified by:
  `reset` in interface `ServletResponse`
See Also:
  `ServletResponse.setBufferSize(int)`, `ServletResponse.getBufferSize()`, `ServletResponse.flushBuffer()`, `ServletResponse.isCommitted()`

#### resetBuffer

    public void resetBuffer()

The default behavior of this method is to call resetBuffer() on the wrapped response object.

Specified by:
  `resetBuffer` in interface `ServletResponse`
See Also:
  `ServletResponse.setBufferSize(int)`, `ServletResponse.getBufferSize()`, `ServletResponse.isCommitted()`, `ServletResponse.reset()`

#### setLocale

    public void setLocale​(java.util.Locale loc)

The default behavior of this method is to call setLocale(Locale loc) on the wrapped response object.

Specified by:
  `setLocale` in interface `ServletResponse`
Parameters:
  `loc` - the locale of the response
See Also:
  `ServletResponse.getLocale()`, `ServletResponse.setContentType(java.lang.String)`, `ServletResponse.setCharacterEncoding(java.lang.String)`

#### getLocale

    public java.util.Locale getLocale()

The default behavior of this method is to return getLocale() on the wrapped response object.

Specified by:
  `getLocale` in interface `ServletResponse`
Returns:
  The locale specified for this response using the `ServletResponse.setLocale(java.util.Locale)` method. If no locale has been specified, the container's default locale is returned.
See Also:
  `ServletResponse.setLocale(java.util.Locale)`

#### isWrapperFor

    public boolean isWrapperFor​(ServletResponse wrapped)

TODO SERVLET3 - Add comments

Parameters:
  `wrapped` - The response to compare to the wrapped response
Returns:
  `true` if the response wrapped by this wrapper (or series of wrappers) is the same as the supplied response, otherwise `false`
Since:
  Servlet 3.0

#### isWrapperFor

    public boolean isWrapperFor​(java.lang.Class<?> wrappedType)

TODO SERVLET3 - Add comments

Parameters:
  `wrappedType` - The class to compare to the class of the wrapped response
Returns:
  `true` if the response wrapped by this wrapper (or series of wrappers) is the same type as the supplied type, otherwise `false`
Since:
  Servlet 3.0