net.sf.click.extras.filter
Class CompressionServletResponseWrapper

java.lang.Object
  extended byjavax.servlet.ServletResponseWrapper
      extended byjavax.servlet.http.HttpServletResponseWrapper
          extended bynet.sf.click.extras.filter.CompressionServletResponseWrapper
All Implemented Interfaces:
HttpServletResponse, ServletResponse

public class CompressionServletResponseWrapper
extends HttpServletResponseWrapper

Implementation of HttpServletResponseWrapper that works with the CompressionServletResponseStream implementation.

Note this Jakarta Tomcat examples Filter is packaged in Click Extras for convenience.

Version:
Revision: 1.3, Date: 2004/03/18 16:40:28
Author:
Amy Roh, Dmitri Valdin

Field Summary
protected  String contentType
          Content type.
protected static String INFO
          Descriptive information about this Response implementation.
protected  HttpServletResponse origResponse
          Original response.
protected  ServletOutputStream stream
          The ServletOutputStream that has been returned by getOutputStream(), if any.
protected  int threshold
          The threshold number to compress.
protected  PrintWriter writer
          The PrintWriter that has been returned by getWriter(), if any.
 
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
CompressionServletResponseWrapper(HttpServletResponse response)
          Calls the parent constructor which creates a ServletResponse adaptor wrapping the given response object.
 
Method Summary
 ServletOutputStream createOutputStream()
          Create and return a ServletOutputStream to write the content associated with this Response.
 void finishResponse()
          Finish a response.
 void flushBuffer()
          Flush the buffer and commit this response.
 ServletOutputStream getOutputStream()
          Return the servlet output stream associated with this Response.
 PrintWriter getWriter()
          Return the writer associated with this Response.
 void setCompressionThreshold(int threshold)
          Set threshold the compression threshold in bytes.
 void setContentLength(int length)
          Set the content length.
 void setContentType(String contentType)
          Set content type.
 void setHeader(String header, String value)
          Set the string value in the header.
 void setIntHeader(String header, int value)
          Set the int value in the header.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, 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
getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setLocale
 

Field Detail

origResponse

protected HttpServletResponse origResponse
Original response.


INFO

protected static final String INFO
Descriptive information about this Response implementation.

See Also:
Constant Field Values

stream

protected ServletOutputStream stream
The ServletOutputStream that has been returned by getOutputStream(), if any.


writer

protected PrintWriter writer
The PrintWriter that has been returned by getWriter(), if any.


threshold

protected int threshold
The threshold number to compress.


contentType

protected String contentType
Content type.

Constructor Detail

CompressionServletResponseWrapper

public CompressionServletResponseWrapper(HttpServletResponse response)
Calls the parent constructor which creates a ServletResponse adaptor wrapping the given response object.

Parameters:
response - the servlet response to wrap
Method Detail

setContentType

public void setContentType(String contentType)
Set content type.

Parameters:
contentType - the response content type

setCompressionThreshold

public void setCompressionThreshold(int threshold)
Set threshold the compression threshold in bytes.

Parameters:
threshold - the compression threshold in bytes

createOutputStream

public ServletOutputStream createOutputStream()
                                       throws IOException
Create and return a ServletOutputStream to write the content associated with this Response.

Returns:
a new compressed servlet output stream
Throws:
IOException - if an input/output error occurs

finishResponse

public void finishResponse()
Finish a response.


flushBuffer

public void flushBuffer()
                 throws IOException
Flush the buffer and commit this response.

Throws:
IOException - if an input/output error occurs

getOutputStream

public ServletOutputStream getOutputStream()
                                    throws IOException
Return the servlet output stream associated with this Response.

Returns:
the servlet output stream associated with this response
Throws:
IllegalStateException - if getWriter has already been called for this response
IOException - if an input/output error occurs

getWriter

public PrintWriter getWriter()
                      throws IOException
Return the writer associated with this Response.

Returns:
the servlet print writer
Throws:
IllegalStateException - if getOutputStream has already been called for this response
IOException - if an input/output error occurs

setContentLength

public void setContentLength(int length)
Set the content length. This method does nothing.

Parameters:
length - the content length

setIntHeader

public void setIntHeader(String header,
                         int value)
Set the int value in the header.

Parameters:
header - the response header
value - the int value

setHeader

public void setHeader(String header,
                      String value)
Set the string value in the header.

Parameters:
header - the response header
value - the string value