com.opensymphony.oscache.web.filter
Class CacheHttpServletResponseWrapper

java.lang.Object
  extended byjavax.servlet.ServletResponseWrapper
      extended byjavax.servlet.http.HttpServletResponseWrapper
          extended bycom.opensymphony.oscache.web.filter.CacheHttpServletResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class CacheHttpServletResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

CacheServletResponse is a serialized representation of a response

Version:
$Revision: 1.4 $
Author:
Serge Knystautas

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_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
CacheHttpServletResponseWrapper(javax.servlet.http.HttpServletResponse response)
          Constructor
CacheHttpServletResponseWrapper(javax.servlet.http.HttpServletResponse response, boolean fragment, long time, long lastModified, long expires)
          Constructor
 
Method Summary
 void addDateHeader(String name, long value)
          Add the date of a header
 void addHeader(String name, String value)
          Add a header field
 void flushBuffer()
           
 ResponseContent getContent()
          Get a response content
 javax.servlet.ServletOutputStream getOutputStream()
          Get an output stream
 int getStatus()
          Retrieves the captured HttpResponse status.
 PrintWriter getWriter()
          Get a print writer
 void sendError(int status)
          We override this so we can catch the response status.
 void sendError(int status, String string)
          We override this so we can catch the response status.
 void sendRedirect(String location)
          We override this so we can catch the response status.
 void setContentType(String value)
          Set the content type
 void setDateHeader(String name, long value)
          Set the date of a header
 void setHeader(String name, String value)
          Set a header field
 void setIntHeader(String name, int value)
          Set the int value of the header
 void setLocale(Locale value)
          Set the locale
 void setStatus(int status)
          We override this so we can catch the response status.
 void setStatus(int status, String string)
          We override this so we can catch the response status.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, 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
getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setContentLength
 

Constructor Detail

CacheHttpServletResponseWrapper

public CacheHttpServletResponseWrapper(javax.servlet.http.HttpServletResponse response)
Constructor

Parameters:
response - The servlet response

CacheHttpServletResponseWrapper

public CacheHttpServletResponseWrapper(javax.servlet.http.HttpServletResponse response,
                                       boolean fragment,
                                       long time,
                                       long lastModified,
                                       long expires)
Constructor

Parameters:
response - The servlet response
fragment - true if the repsonse indicates that it is a fragement of a page
time - the refresh time in millis
lastModified - defines if last modified header will be send, @see CacheFilter
expires - defines if expires header will be send, @see CacheFilter
Method Detail

getContent

public ResponseContent getContent()
Get a response content

Returns:
The content

setContentType

public void setContentType(String value)
Set the content type

Parameters:
value - The content type

setDateHeader

public void setDateHeader(String name,
                          long value)
Set the date of a header

Parameters:
name - The header name
value - The date

addDateHeader

public void addDateHeader(String name,
                          long value)
Add the date of a header

Parameters:
name - The header name
value - The date

setHeader

public void setHeader(String name,
                      String value)
Set a header field

Parameters:
name - The header name
value - The header value

addHeader

public void addHeader(String name,
                      String value)
Add a header field

Parameters:
name - The header name
value - The header value

setIntHeader

public void setIntHeader(String name,
                         int value)
Set the int value of the header

Parameters:
name - The header name
value - The int value

setStatus

public void setStatus(int status)
We override this so we can catch the response status. Only responses with a status of 200 (SC_OK) will be cached.


sendError

public void sendError(int status,
                      String string)
               throws IOException
We override this so we can catch the response status. Only responses with a status of 200 (SC_OK) will be cached.

Throws:
IOException

sendError

public void sendError(int status)
               throws IOException
We override this so we can catch the response status. Only responses with a status of 200 (SC_OK) will be cached.

Throws:
IOException

setStatus

public void setStatus(int status,
                      String string)
We override this so we can catch the response status. Only responses with a status of 200 (SC_OK) will be cached.


sendRedirect

public void sendRedirect(String location)
                  throws IOException
We override this so we can catch the response status. Only responses with a status of 200 (SC_OK) will be cached.

Throws:
IOException

getStatus

public int getStatus()
Retrieves the captured HttpResponse status.


setLocale

public void setLocale(Locale value)
Set the locale

Parameters:
value - The locale

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws IOException
Get an output stream

Throws:
IOException

getWriter

public PrintWriter getWriter()
                      throws IOException
Get a print writer

Throws:
IOException

flushBuffer

public void flushBuffer()
                 throws IOException
Throws:
IOException

OSCache Project Page