Package org.apache.catalina.filters
Class ExpiresFilter.XHttpServletResponse
- java.lang.Object
- 
- javax.servlet.ServletResponseWrapper
- 
- javax.servlet.http.HttpServletResponseWrapper
- 
- org.apache.catalina.filters.ExpiresFilter.XHttpServletResponse
 
 
 
- 
- All Implemented Interfaces:
- HttpServletResponse,- ServletResponse
 - Enclosing class:
- ExpiresFilter
 
 public class ExpiresFilter.XHttpServletResponse extends HttpServletResponseWrapper Wrapping extension of the HttpServletResponseto yrap the "Start Write Response Body" event.For performance optimization : this extended response holds the lastModifiedHeaderandcacheControlHeadervalues access to the slowHttpServletResponseWrapper.getHeader(String)and to spare thestringtodatetolongconversion.
- 
- 
Field Summary- 
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 XHttpServletResponse(HttpServletRequest request, HttpServletResponse response)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDateHeader(java.lang.String name, long date)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.java.lang.StringgetCacheControlHeader()longgetLastModifiedHeader()ServletOutputStreamgetOutputStream()The default behavior of this method is to return getOutputStream() on the wrapped response object.java.io.PrintWritergetWriter()The default behavior of this method is to return getWriter() on the wrapped response object.booleanisLastModifiedHeaderSet()booleanisWriteResponseBodyStarted()voidreset()The default behavior of this method is to call reset() on the wrapped response object.voidsetDateHeader(java.lang.String name, long date)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.voidsetWriteResponseBodyStarted(boolean writeResponseBodyStarted)- 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapperaddCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setIntHeader, setStatus, setStatus, setTrailerFields
 - 
Methods inherited from class javax.servlet.ServletResponseWrapperflushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, 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, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
 
- 
 
- 
- 
- 
Constructor Detail- 
XHttpServletResponsepublic XHttpServletResponse(HttpServletRequest request, HttpServletResponse response) 
 
- 
 - 
Method Detail- 
addDateHeaderpublic void addDateHeader(java.lang.String name, long date)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
- date- 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)
 
 - 
getCacheControlHeaderpublic java.lang.String getCacheControlHeader() 
 - 
getLastModifiedHeaderpublic long getLastModifiedHeader() 
 - 
getOutputStreampublic ServletOutputStream getOutputStream() throws java.io.IOException Description copied from class:javax.servlet.ServletResponseWrapperThe default behavior of this method is to return getOutputStream() on the wrapped response object.- Specified by:
- getOutputStreamin interface- ServletResponse
- Overrides:
- getOutputStreamin class- ServletResponseWrapper
- Returns:
- a ServletOutputStreamfor writing binary data
- Throws:
- java.io.IOException- if an input or output exception occurred
- See Also:
- ServletResponse.getWriter()
 
 - 
getWriterpublic java.io.PrintWriter getWriter() throws java.io.IOExceptionDescription copied from class:javax.servlet.ServletResponseWrapperThe default behavior of this method is to return getWriter() on the wrapped response object.- Specified by:
- getWriterin interface- ServletResponse
- Overrides:
- getWriterin class- ServletResponseWrapper
- Returns:
- a PrintWriterobject that can return character data to the client
- Throws:
- java.io.UnsupportedEncodingException- if the character encoding returned by- getCharacterEncodingcannot be used
- java.io.IOException- if an input or output exception occurred
- See Also:
- ServletResponse.getOutputStream(),- ServletResponse.setCharacterEncoding(java.lang.String)
 
 - 
isLastModifiedHeaderSetpublic boolean isLastModifiedHeaderSet() 
 - 
isWriteResponseBodyStartedpublic boolean isWriteResponseBodyStarted() 
 - 
resetpublic void reset() Description copied from class:javax.servlet.ServletResponseWrapperThe default behavior of this method is to call reset() on the wrapped response object.- Specified by:
- resetin interface- ServletResponse
- Overrides:
- resetin class- ServletResponseWrapper
- See Also:
- ServletResponse.setBufferSize(int),- ServletResponse.getBufferSize(),- ServletResponse.flushBuffer(),- ServletResponse.isCommitted()
 
 - 
setDateHeaderpublic void setDateHeader(java.lang.String name, long date)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
- date- 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)
 
 - 
setWriteResponseBodyStartedpublic void setWriteResponseBodyStarted(boolean writeResponseBodyStarted) 
 
- 
 
-