## org.apache.catalina.connector
Class ResponseWrapper

    java.lang.Object
      |
      +--org.apache.catalina.connector.ResponseWrapper

All Implemented Interfaces:
  Response

Direct Known Subclasses:
  HttpResponseWrapper

public abstract class ResponseWrapper
extends java.lang.Object
implements Response

Abstract convenience class that wraps a Catalina-internal Response object. By default, all methods are delegated to the wrapped response, but subclasses can override individual methods as required to provide the functionality that they require.

Version:
  $Revision: 1.2 $ $Date: 2001/07/22 20:25:06 $
Author:
  Craig R. McClanahan

Field Summary
`protected Response` `response` The wrapped response.

Constructor Summary
`ResponseWrapper(Response response)` Construct a wrapper for the specified response.

Method Summary
`javax.servlet.ServletOutputStream` `createOutputStream()` Create and return a ServletOutputStream to write the content associated with this Response.
`void` `finishResponse()` Perform whatever actions are required to flush and close the output stream or writer, in a single operation.
`Connector` `getConnector()` Return the Connector through which this Response is returned.
`int` `getContentCount()` Return the number of bytes actually written to the output stream.
`int` `getContentLength()` Return the content length that was set or calculated for this Response.
`java.lang.String` `getContentType()` Return the content type that was set or calculated for this response, or `null` if no content type was set.
`Context` `getContext()` Return the Context with which this Response is associated.
`boolean` `getIncluded()` Return the "processing inside an include" flag.
`java.lang.String` `getInfo()` Return descriptive information about this Response implementation and the corresponding version number, in the format `<description>/<version>`.
`java.io.PrintWriter` `getReporter()` Return a PrintWriter that can be used to render error messages, regardless of whether a stream or writer has already been acquired.
`Request` `getRequest()` Return the Request with which this Response is associated.
`javax.servlet.ServletResponse` `getResponse()` Return the `ServletResponse` for which this object is the facade.
`java.io.OutputStream` `getStream()` Return the output stream associated with this Response.
`Response` `getWrappedResponse()` Return the wrapped response.
`void` `recycle()` Release all object references, and initialize instance variables, in preparation for reuse of this object.
`void` `resetBuffer()` Reset the data buffer but not any status or header information.
`void` `setConnector(Connector connector)` Set the Connector through which this Response is returned.
`void` `setContext(Context context)` Set the Context with which this Response is associated.
`void` `setIncluded(boolean included)` Set the "processing inside an include" flag.
`void` `setRequest(Request request)` Set the Request with which this Response is associated.
`void` `setStream(java.io.OutputStream stream)` Set the output stream associated with this Response.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.apache.catalina.Response
`isAppCommitted, isError, isSuspended, setAppCommitted, setError, setSuspended`

Field Detail

### response

    protected Response response

  The wrapped response.

Constructor Detail

### ResponseWrapper

    public ResponseWrapper(Response response)

  Construct a wrapper for the specified response.

Parameters:
  `response` - The response to be wrapped

Method Detail

### getWrappedResponse

    public Response getWrappedResponse()

  Return the wrapped response.

### getConnector

    public Connector getConnector()

  Return the Connector through which this Response is returned.

  Specified by:
    `getConnector` in interface `Response`

### setConnector

    public void setConnector(Connector connector)

  Set the Connector through which this Response is returned.

  Specified by:
    `setConnector` in interface `Response`
  Parameters:
    `connector` - The new connector

### getContentCount

    public int getContentCount()

  Return the number of bytes actually written to the output stream.

  Specified by:
    `getContentCount` in interface `Response`

### getContext

    public Context getContext()

  Return the Context with which this Response is associated.

  Specified by:
    `getContext` in interface `Response`

### setContext

    public void setContext(Context context)

  Set the Context with which this Response is associated. This should be called as soon as the appropriate Context is identified.

  Specified by:
    `setContext` in interface `Response`
  Parameters:
    `context` - The associated Context

### getIncluded

    public boolean getIncluded()

  Return the "processing inside an include" flag.

  Specified by:
    `getIncluded` in interface `Response`

### setIncluded

    public void setIncluded(boolean included)

  Set the "processing inside an include" flag.

  Specified by:
    `setIncluded` in interface `Response`
  Parameters:
    `included` - `true` if we are currently inside a RequestDispatcher.include(), else `false`

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this Response implementation and the corresponding version number, in the format `<description>/<version>`.

  Specified by:
    `getInfo` in interface `Response`

### getRequest

    public Request getRequest()

  Return the Request with which this Response is associated.

  Specified by:
    `getRequest` in interface `Response`

### setRequest

    public void setRequest(Request request)

  Set the Request with which this Response is associated.

  Specified by:
    `setRequest` in interface `Response`
  Parameters:
    `request` - The new associated request

### getResponse

    public javax.servlet.ServletResponse getResponse()

  Return the `ServletResponse` for which this object is the facade.

  Specified by:
    `getResponse` in interface `Response`

### getStream

    public java.io.OutputStream getStream()

  Return the output stream associated with this Response.

  Specified by:
    `getStream` in interface `Response`

### setStream

    public void setStream(java.io.OutputStream stream)

  Set the output stream associated with this Response.

  Specified by:
    `setStream` in interface `Response`
  Parameters:
    `stream` - The new output stream

### createOutputStream

    public javax.servlet.ServletOutputStream createOutputStream()
                                                         throws java.io.IOException

  Create and return a ServletOutputStream to write the content associated with this Response.

  Specified by:
    `createOutputStream` in interface `Response`
  Throws:
    `java.io.IOException` - if an input/output error occurs

### finishResponse

    public void finishResponse()
                        throws java.io.IOException

  Perform whatever actions are required to flush and close the output stream or writer, in a single operation.

  Specified by:
    `finishResponse` in interface `Response`
  Throws:
    `java.io.IOException` - if an input/output error occurs

### getContentLength

    public int getContentLength()

  Return the content length that was set or calculated for this Response.

  Specified by:
    `getContentLength` in interface `Response`

### getContentType

    public java.lang.String getContentType()

  Return the content type that was set or calculated for this response, or `null` if no content type was set.

  Specified by:
    `getContentType` in interface `Response`

### getReporter

    public java.io.PrintWriter getReporter()

  Return a PrintWriter that can be used to render error messages, regardless of whether a stream or writer has already been acquired.

  Specified by:
    `getReporter` in interface `Response`
  Returns:
    Writer which can be used for error reports. If the response is not an error report returned using sendError or triggered by an unexpected exception thrown during the servlet processing (and only in that case), null will be returned if the response stream has already been used.

### recycle

    public void recycle()

  Release all object references, and initialize instance variables, in preparation for reuse of this object.

  Specified by:
    `recycle` in interface `Response`

### resetBuffer

    public void resetBuffer()

  Reset the data buffer but not any status or header information.

  Specified by:
    `resetBuffer` in interface `Response`

Copyright © 2000-2001 Apache Software Foundation. All Rights Reserved.