Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 `HttpServletResponse` to yrap the "Start Write Response Body" event.

For performance optimization : this extended response holds the `lastModifiedHeader` and `cacheControlHeader` values access to the slow `HttpServletResponseWrapper.getHeader(String)` and to spare the `string` to `date` to `long` conversion.

Field Summary

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
`ExpiresFilter.XHttpServletResponse(HttpServletRequest request, HttpServletResponse response)`

Method Summary
`void` | `addDateHeader(String name, long date)` The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.
`void` | `addHeader(String name, String value)` The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.
`String` | `getCacheControlHeader()`
`long` | `getLastModifiedHeader()`
`ServletOutputStream` | `getOutputStream()` The default behavior of this method is to return getOutputStream() on the wrapped response object.
`PrintWriter` | `getWriter()` The default behavior of this method is to return getWriter() on the wrapped response object.
`boolean` | `isLastModifiedHeaderSet()`
`boolean` | `isWriteResponseBodyStarted()`
`void` | `reset()` The default behavior of this method is to call reset() on the wrapped response object.
`void` | `setDateHeader(String name, long date)` The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.
`void` | `setHeader(String name, String value)` The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.
`void` | `setWriteResponseBodyStarted(boolean writeResponseBodyStarted)`

Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
`addCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setIntHeader, setStatus, setStatus`

Methods inherited from class javax.servlet.ServletResponseWrapper
`flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, 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, getContentType, getLocale, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale`

Constructor Detail

### ExpiresFilter.XHttpServletResponse

    public ExpiresFilter.XHttpServletResponse(HttpServletRequest request,
                                              HttpServletResponse response)

Method Detail

### addDateHeader

    public void addDateHeader(String name,
                              long date)

  Description copied from class: `javax.servlet.http.HttpServletResponseWrapper`
  The default behavior of this method is to call addDateHeader(String name, long date) on the wrapped response object.

  Specified by:
    `addDateHeader` in interface `HttpServletResponse`
  Overrides:
    `addDateHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - the name of the header to set
    `date` - the additional date value
  See Also:
    `HttpServletResponse.setDateHeader(java.lang.String, long)`

### addHeader

    public void addHeader(String name,
                          String value)

  Description copied from class: `javax.servlet.http.HttpServletResponseWrapper`
  The default behavior of this method is to return addHeader(String name, String value) on the wrapped response object.

  Specified by:
    `addHeader` in interface `HttpServletResponse`
  Overrides:
    `addHeader` in 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)`

### getCacheControlHeader

    public String getCacheControlHeader()

### getLastModifiedHeader

    public long getLastModifiedHeader()

### getOutputStream

    public ServletOutputStream getOutputStream()
                                        throws IOException

  Description copied from class: `javax.servlet.ServletResponseWrapper`
  The default behavior of this method is to return getOutputStream() on the wrapped response object.

  Specified by:
    `getOutputStream` in interface `ServletResponse`
  Overrides:
    `getOutputStream` in class `ServletResponseWrapper`
  Returns:
    a `ServletOutputStream` for writing binary data
  Throws:
    `IOException` - if an input or output exception occurred
  See Also:
    `ServletResponse.getWriter()`

### getWriter

    public PrintWriter getWriter()
                          throws IOException

  Description copied from class: `javax.servlet.ServletResponseWrapper`
  The default behavior of this method is to return getWriter() on the wrapped response object.

  Specified by:
    `getWriter` in interface `ServletResponse`
  Overrides:
    `getWriter` in class `ServletResponseWrapper`
  Returns:
    a `PrintWriter` object that can return character data to the client
  Throws:
    `UnsupportedEncodingException` - if the character encoding returned by `getCharacterEncoding` cannot be used
    `IOException` - if an input or output exception occurred
  See Also:
    `ServletResponse.getOutputStream()`, `ServletResponse.setCharacterEncoding(java.lang.String)`

### isLastModifiedHeaderSet

    public boolean isLastModifiedHeaderSet()

### isWriteResponseBodyStarted

    public boolean isWriteResponseBodyStarted()

### reset

    public void reset()

  Description copied from class: `javax.servlet.ServletResponseWrapper`
  The default behavior of this method is to call reset() on the wrapped response object.

  Specified by:
    `reset` in interface `ServletResponse`
  Overrides:
    `reset` in class `ServletResponseWrapper`
  See Also:
    `ServletResponse.setBufferSize(int)`, `ServletResponse.getBufferSize()`, `ServletResponse.flushBuffer()`, `ServletResponse.isCommitted()`

### setDateHeader

    public void setDateHeader(String name,
                              long date)

  Description copied from class: `javax.servlet.http.HttpServletResponseWrapper`
  The default behavior of this method is to call setDateHeader(String name, long date) on the wrapped response object.

  Specified by:
    `setDateHeader` in interface `HttpServletResponse`
  Overrides:
    `setDateHeader` in 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)`

### setHeader

    public void setHeader(String name,
                          String value)

  Description copied from class: `javax.servlet.http.HttpServletResponseWrapper`
  The default behavior of this method is to return setHeader(String name, String value) on the wrapped response object.

  Specified by:
    `setHeader` in interface `HttpServletResponse`
  Overrides:
    `setHeader` in 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)`

### setWriteResponseBodyStarted

    public void setWriteResponseBodyStarted(boolean writeResponseBodyStarted)

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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