Overview | Package | Class | Tree | Deprecated | Index | Help
| J2EE1.4 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.appserv.web.cache.filter
Class CachingResponseWrapper

    java.lang.Object
      javax.servlet.ServletResponseWrapper
          javax.servlet.http.HttpServletResponseWrapper
              com.sun.appserv.web.cache.filter.CachingResponseWrapper

All Implemented Interfaces:
  HttpServletResponse, ServletResponse

public class CachingResponseWrapper
extends HttpServletResponseWrapper

a wrapper to HttpServletResponse to cache the outbound headers and content

See Also:
  `and`, `HttpServletResponse`

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
`CachingResponseWrapper(HttpServletResponse response)` Constructs a response adaptor wrapping the given response.

Method Summary
`void` | `addCookie(Cookie cookie)` The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.
`void` | `addDateHeader(java.lang.String name, long value)` Add the specified date header to the specified value.
`void` | `addHeader(java.lang.String name, java.lang.String value)` Add the specified header to the specified value.
`void` | `addIntHeader(java.lang.String name, int value)` Add the specified integer header to the specified value.
`HttpCacheEntry` | `cacheResponse()` called by doFilter to cache the response that was just sent out
`void` | `clear()` clear the contents of this wrapper
`java.lang.Long` | `getExpiresDateHeader()` return the Expires: date header value
`ServletOutputStream` | `getOutputStream()` Return the servlet output stream associated with this Response.
`java.io.PrintWriter` | `getWriter()` Return the writer associated with this Response.
`boolean` | `isError()` has the response been set to error
`void` | `sendError(int status)` Send an error response with the specified status and a default message.
`void` | `sendError(int status, java.lang.String message)` Send an error response with the specified status and message.
`void` | `setContentLength(int len)` Set the content length (in bytes) for this Response.
`void` | `setContentType(java.lang.String type)` Set the content type for this Response.
`void` | `setDateHeader(java.lang.String name, long value)` Set the specified date header to the specified value.
`void` | `setHeader(java.lang.String name, java.lang.String value)` Set the specified header to the specified value.
`void` | `setIntHeader(java.lang.String name, int value)` Set the specified integer header to the specified value.
`void` | `setLocale(java.util.Locale locale)` Set the Locale that is appropriate for this response, including setting the appropriate character encoding.
`void` | `setStatus(int sc)` Set the HTTP status to be returned with this response.

Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
`containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendRedirect, setStatus`

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

Constructor Detail

### CachingResponseWrapper

    public CachingResponseWrapper(HttpServletResponse response)

  Constructs a response adaptor wrapping the given response.

Throws:
  `java.lang.IllegalArgumentException` - if the response is null

Method Detail

### getOutputStream

    public ServletOutputStream getOutputStream()
                                        throws java.io.IOException

  Return the servlet output stream associated with this Response.

  Specified by:
    `getOutputStream` in interface `ServletResponse`
  Overrides:
    `getOutputStream` in class `ServletResponseWrapper`
  Throws:
    `java.lang.IllegalStateException` - if `getWriter` has already been called for this response
    `java.io.IOException` - if an input/output error occurs

### getWriter

    public java.io.PrintWriter getWriter()
                                  throws java.io.IOException

  Return the writer associated with this Response.

  Specified by:
    `getWriter` in interface `ServletResponse`
  Overrides:
    `getWriter` in class `ServletResponseWrapper`
  Throws:
    `java.lang.IllegalStateException` - if `getOutputStream` has already been called for this response
    `java.io.IOException` - if an input/output error occurs

### setContentLength

    public void setContentLength(int len)

  Set the content length (in bytes) for this Response.

  Specified by:
    `setContentLength` in interface `ServletResponse`
  Overrides:
    `setContentLength` in class `ServletResponseWrapper`

### setContentType

    public void setContentType(java.lang.String type)

  Set the content type for this Response.

  Specified by:
    `setContentType` in interface `ServletResponse`
  Overrides:
    `setContentType` in class `ServletResponseWrapper`
  Parameters:
    `type` - The new content type

### setLocale

    public void setLocale(java.util.Locale locale)

  Set the Locale that is appropriate for this response, including setting the appropriate character encoding.

  Specified by:
    `setLocale` in interface `ServletResponse`
  Overrides:
    `setLocale` in class `ServletResponseWrapper`
  Parameters:
    `locale` - The new locale

### addCookie

    public void addCookie(Cookie cookie)

  The default behavior of this method is to call addCookie(Cookie cookie) on the wrapped response object.

  Specified by:
    `addCookie` in interface `HttpServletResponse`
  Overrides:
    `addCookie` in class `HttpServletResponseWrapper`

### setHeader

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

  Set the specified header to the specified value.

  Specified by:
    `setHeader` in interface `HttpServletResponse`
  Overrides:
    `setHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - Name of the header to set
    `value` - Value to be set

### setIntHeader

    public void setIntHeader(java.lang.String name,
                             int value)

  Set the specified integer header to the specified value.

  Specified by:
    `setIntHeader` in interface `HttpServletResponse`
  Overrides:
    `setIntHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - Name of the header to set
    `value` - Integer value to be set

### addHeader

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

  Add the specified header to the specified value.

  Specified by:
    `addHeader` in interface `HttpServletResponse`
  Overrides:
    `addHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - Name of the header to set
    `value` - Value to be set

### addIntHeader

    public void addIntHeader(java.lang.String name,
                             int value)

  Add the specified integer header to the specified value.

  Specified by:
    `addIntHeader` in interface `HttpServletResponse`
  Overrides:
    `addIntHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - Name of the header to set
    `value` - Integer value to be set

### setDateHeader

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

  Set the specified date header to the specified value.

  Specified by:
    `setDateHeader` in interface `HttpServletResponse`
  Overrides:
    `setDateHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - Name of the header to set
    `value` - Date value to be set

### addDateHeader

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

  Add the specified date header to the specified value.

  Specified by:
    `addDateHeader` in interface `HttpServletResponse`
  Overrides:
    `addDateHeader` in class `HttpServletResponseWrapper`
  Parameters:
    `name` - Name of the header to set
    `value` - Date value to be set

### setStatus

    public void setStatus(int sc)

  Set the HTTP status to be returned with this response.

  Specified by:
    `setStatus` in interface `HttpServletResponse`
  Overrides:
    `setStatus` in class `HttpServletResponseWrapper`

### sendError

    public void sendError(int status)
                   throws java.io.IOException

  Send an error response with the specified status and a default message.

  Specified by:
    `sendError` in interface `HttpServletResponse`
  Overrides:
    `sendError` in class `HttpServletResponseWrapper`
  Parameters:
    `status` - HTTP status code to send
  Throws:
    `java.lang.IllegalStateException` - if this response has already been committed
    `java.io.IOException` - if an input/output error occurs

### sendError

    public void sendError(int status,
                          java.lang.String message)
                   throws java.io.IOException

  Send an error response with the specified status and message.

  Specified by:
    `sendError` in interface `HttpServletResponse`
  Overrides:
    `sendError` in class `HttpServletResponseWrapper`
  Parameters:
    `status` - HTTP status code to send
    `message` - Corresponding message to send
  Throws:
    `java.lang.IllegalStateException` - if this response has already been committed
    `java.io.IOException` - if an input/output error occurs

### isError

    public boolean isError()

  has the response been set to error

### getExpiresDateHeader

    public java.lang.Long getExpiresDateHeader()

  return the Expires: date header value

### cacheResponse

    public HttpCacheEntry cacheResponse()
                                 throws java.io.IOException

  called by doFilter to cache the response that was just sent out

  Throws:
    `java.io.IOException`

### clear

    public void clear()

  clear the contents of this wrapper

Overview | Package | Class | Tree | Deprecated | Index | Help
| J2EE1.4 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature

Copyright 2003 Sun Microsystems, Inc. All rights reserved.