Package org.apache.catalina.ssi
Class ResponseIncludeWrapper
- java.lang.Object
- 
- javax.servlet.ServletResponseWrapper
- 
- javax.servlet.http.HttpServletResponseWrapper
- 
- org.apache.catalina.ssi.ResponseIncludeWrapper
 
 
 
- 
- All Implemented Interfaces:
- HttpServletResponse,- ServletResponse
 
 public class ResponseIncludeWrapper extends HttpServletResponseWrapper An HttpServletResponseWrapper, used fromSSIServletExternalResolver- Author:
- Bip Thelin, David Becker
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected ServletOutputStreamcaptureServletOutputStreamOur ServletOutputStreamprotected longlastModifiedprotected java.io.PrintWriterprintWriterprotected ServletOutputStreamservletOutputStream- 
Fields inherited from interface javax.servlet.http.HttpServletResponseSC_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 SummaryConstructors Constructor Description ResponseIncludeWrapper(HttpServletResponse response, ServletOutputStream captureServletOutputStream)Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDateHeader(java.lang.String name, long value)The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.voidaddHeader(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.voidflushOutputStreamOrWriter()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.longgetLastModified()Returns the value of thelast-modifiedheader field.ServletOutputStreamgetOutputStream()Return a OutputStream, throws and exception if a printwriter already been returned.java.io.PrintWritergetWriter()Return a printwriter, throws and exception if a OutputStream already been returned.voidsetDateHeader(java.lang.String name, long value)The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.voidsetHeader(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.- 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapperaddCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setIntHeader, setStatus, setStatus
 - 
Methods inherited from class javax.servlet.ServletResponseWrapperflushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponse
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface javax.servlet.ServletResponseflushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
 
- 
 
- 
- 
- 
Field Detail- 
lastModifiedprotected long lastModified 
 - 
captureServletOutputStreamprotected final ServletOutputStream captureServletOutputStream Our ServletOutputStream
 - 
servletOutputStreamprotected ServletOutputStream servletOutputStream 
 - 
printWriterprotected java.io.PrintWriter printWriter 
 
- 
 - 
Constructor Detail- 
ResponseIncludeWrapperpublic ResponseIncludeWrapper(HttpServletResponse response, ServletOutputStream captureServletOutputStream) Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.- Parameters:
- response- The response to use
- captureServletOutputStream- The ServletOutputStream to use
 
 
- 
 - 
Method Detail- 
flushOutputStreamOrWriterpublic void flushOutputStreamOrWriter() throws java.io.IOExceptionFlush 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- an IO error occurred
 
 - 
getWriterpublic java.io.PrintWriter getWriter() throws java.io.IOExceptionReturn a printwriter, throws and exception if a OutputStream already been returned.- Specified by:
- getWriterin interface- ServletResponse
- Overrides:
- getWriterin class- ServletResponseWrapper
- Returns:
- a PrintWriter object
- Throws:
- java.io.IOException- if the outputstream already been called
- See Also:
- ServletResponse.getOutputStream(),- ServletResponse.setCharacterEncoding(java.lang.String)
 
 - 
getOutputStreampublic ServletOutputStream getOutputStream() throws java.io.IOException Return a OutputStream, throws and exception if a printwriter already been returned.- Specified by:
- getOutputStreamin interface- ServletResponse
- Overrides:
- getOutputStreamin class- ServletResponseWrapper
- Returns:
- a OutputStream object
- Throws:
- java.io.IOException- if the printwriter already been called
- See Also:
- ServletResponse.getWriter()
 
 - 
getLastModifiedpublic long getLastModified() Returns the value of thelast-modifiedheader field. The result is the number of milliseconds since January 1, 1970 GMT.- Returns:
- the date the resource referenced by this
   ResponseIncludeWrapperwas last modified, or -1 if not known.
 
 - 
addDateHeaderpublic void addDateHeader(java.lang.String name, long value)Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.- Specified by:
- addDateHeaderin interface- HttpServletResponse
- Overrides:
- addDateHeaderin class- HttpServletResponseWrapper
- Parameters:
- name- the name of the header to set
- value- the additional date value
- See Also:
- HttpServletResponse.setDateHeader(java.lang.String, long)
 
 - 
addHeaderpublic void addHeader(java.lang.String name, java.lang.String value)Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.- Specified by:
- addHeaderin interface- HttpServletResponse
- Overrides:
- addHeaderin class- HttpServletResponseWrapper
- 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)
 
 - 
setDateHeaderpublic void setDateHeader(java.lang.String name, long value)Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.- Specified by:
- setDateHeaderin interface- HttpServletResponse
- Overrides:
- setDateHeaderin class- HttpServletResponseWrapper
- Parameters:
- name- the name of the header to set
- value- the assigned date value
- See Also:
- HttpServletResponse.containsHeader(java.lang.String),- HttpServletResponse.addDateHeader(java.lang.String, long)
 
 - 
setHeaderpublic void setHeader(java.lang.String name, java.lang.String value)Description copied from class:javax.servlet.http.HttpServletResponseWrapperThe default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.- Specified by:
- setHeaderin interface- HttpServletResponse
- Overrides:
- setHeaderin class- HttpServletResponseWrapper
- 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)
 
 
- 
 
-