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:
$Id: ResponseIncludeWrapper.java 939529 2010-04-30 00:51:34Z kkolinko $
Author:
Bip Thelin, David Becker

Field Summary
protected  javax.servlet.ServletOutputStream captureServletOutputStream
          Our ServletOutputStream
protected  long lastModified
           
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_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
ResponseIncludeWrapper(javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.ServletOutputStream captureServletOutputStream)
          Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.
 
Method Summary
 void addDateHeader(java.lang.String name, long value)
           
 void addHeader(java.lang.String name, java.lang.String value)
           
 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.
 java.lang.String getContentType()
          Returns the value of the content-type header field.
 long getLastModified()
          Returns the value of the last-modified header field.
 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.
 void setContentType(java.lang.String mime)
          Sets the value of the content-type header field.
 void setDateHeader(java.lang.String name, long value)
           
 void setHeader(java.lang.String name, java.lang.String value)
           
 void setLastModified(long lastModified)
          Sets the value of the last-modified header field.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, 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, setCharacterEncoding, setContentLength, setLocale
 

Field Detail

lastModified

protected long lastModified

captureServletOutputStream

protected javax.servlet.ServletOutputStream captureServletOutputStream
Our ServletOutputStream


servletOutputStream

protected javax.servlet.ServletOutputStream servletOutputStream

printWriter

protected java.io.PrintWriter printWriter
Constructor Detail

ResponseIncludeWrapper

public ResponseIncludeWrapper(javax.servlet.ServletContext context,
                              javax.servlet.http.HttpServletRequest request,
                              javax.servlet.http.HttpServletResponse response,
                              javax.servlet.ServletOutputStream captureServletOutputStream)
Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.

Parameters:
context - The servlet context
request - The HttpServletResponse to use
response - The response to use
captureServletOutputStream - The ServletOutputStream 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

getLastModified

public long getLastModified()
Returns the value of the last-modified header field. The result is the number of milliseconds since January 1, 1970 GMT.

Returns:
the date the resource referenced by this ResponseIncludeWrapper was last modified, or -1 if not known.

setLastModified

public void setLastModified(long lastModified)
Sets the value of the last-modified header field.

Parameters:
lastModified - The number of milliseconds since January 1, 1970 GMT.

getContentType

public java.lang.String getContentType()
Returns the value of the content-type header field.

Returns:
the content type of the resource referenced by this ResponseIncludeWrapper, or null if not known.

setContentType

public void setContentType(java.lang.String mime)
Sets the value of the content-type header field.

Parameters:
mime - a mime type

addDateHeader

public void addDateHeader(java.lang.String name,
                          long value)

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)

setDateHeader

public void setDateHeader(java.lang.String name,
                          long value)

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)


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