org.apache.catalina.ssi
Class ResponseIncludeWrapper

java.lang.Object
  extended byjavax.servlet.ServletResponseWrapper
      extended byjavax.servlet.http.HttpServletResponseWrapper
          extended byorg.apache.catalina.ssi.ResponseIncludeWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class ResponseIncludeWrapper
extends javax.servlet.http.HttpServletResponseWrapper

A HttpServletResponseWrapper, used from SSIServletExternalResolver

Version:
$Revision: 1.2 $, $Date: 2004/08/26 21:39:40 $
Author:
Bip Thelin

Field Summary
protected  javax.servlet.ServletOutputStream originalServletOutputStream
          Our ServletOutputStream
protected  java.io.PrintWriter printWriter
           
protected  javax.servlet.ServletOutputStream servletOutputStream
           
 
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_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
ResponseIncludeWrapper(javax.servlet.http.HttpServletResponse res, javax.servlet.ServletOutputStream originalServletOutputStream)
          Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.
 
Method Summary
 void flushOutputStreamOrWriter()
          Flush the servletOutputStream or printWriter ( only one will be non-null ) This must be called after a requestDispatcher.include, since we can't assume that the included servlet flushed its stream.
 javax.servlet.ServletOutputStream getOutputStream()
          Return a OutputStream, throws and exception if a printwriter already been returned.
 java.io.PrintWriter getWriter()
          Return a printwriter, throws and exception if a OutputStream already been returned.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, 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, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale
 

Field Detail

originalServletOutputStream

protected javax.servlet.ServletOutputStream originalServletOutputStream
Our ServletOutputStream


servletOutputStream

protected javax.servlet.ServletOutputStream servletOutputStream

printWriter

protected java.io.PrintWriter printWriter
Constructor Detail

ResponseIncludeWrapper

public ResponseIncludeWrapper(javax.servlet.http.HttpServletResponse res,
                              javax.servlet.ServletOutputStream originalServletOutputStream)
Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.

Parameters:
res - The HttpServletResponse to use
Method Detail

flushOutputStreamOrWriter

public void flushOutputStreamOrWriter()
                               throws java.io.IOException
Flush the servletOutputStream or printWriter ( only one will be non-null ) This must be called after a requestDispatcher.include, since we can't assume that the included servlet flushed its stream.

Throws:
java.io.IOException

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Return a printwriter, throws and exception if a OutputStream already been returned.

Returns:
a PrintWriter object
Throws:
java.io.IOException - if the outputstream already been called

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Return a OutputStream, throws and exception if a printwriter already been returned.

Returns:
a OutputStream object
Throws:
java.io.IOException - if the printwriter already been called


Copyright 2000-2002 Apache Software Foundation. All Rights Reserved.