org.blojsom.filter
Class GZIPResponseWrapper

java.lang.Object
  extended byjavax.servlet.ServletResponseWrapper
      extended byjavax.servlet.http.HttpServletResponseWrapper
          extended byorg.blojsom.filter.GZIPResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class GZIPResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

GZIPResponseWrapper

Copyright 2003 Jayson Falkner (jayson@jspinsider.com) This code is from "Servlets and JavaServer pages; the J2EE Web Tier", http://www.jspbook.com. You may freely use the code both commercially and non-commercially. If you like the code, please pick up a copy of the book and help support the authors, development of more free code, and the JSP/Servlet/J2EE community.

Since:
blojsom 2.10
Version:
$Id: GZIPResponseWrapper.java,v 1.6 2006/01/04 16:59:54 czarneckid Exp $

Field Summary
protected  javax.servlet.http.HttpServletResponse origResponse
           
protected  javax.servlet.ServletOutputStream stream
           
protected  java.io.PrintWriter writer
           
 
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
GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response)
          Create a new GZIPResponseWrapper
 
Method Summary
 javax.servlet.ServletOutputStream createOutputStream()
          Create a new ServletOutputStream which returns a GZIPResponseStream
 void finishResponse()
          Finish the response
 void flushBuffer()
          Flush the output buffer
 javax.servlet.ServletOutputStream getOutputStream()
          Retrieve the output stream for this response wrapper
 java.io.PrintWriter getWriter()
          Retrieve a writer for this response wrapper
 void setContentLength(int length)
          Set the content length for the response.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, 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
getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setContentType, setLocale
 

Field Detail

origResponse

protected javax.servlet.http.HttpServletResponse origResponse

stream

protected javax.servlet.ServletOutputStream stream

writer

protected java.io.PrintWriter writer
Constructor Detail

GZIPResponseWrapper

public GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response)
Create a new GZIPResponseWrapper

Parameters:
response - Original HTTP servlet response
Method Detail

createOutputStream

public javax.servlet.ServletOutputStream createOutputStream()
                                                     throws java.io.IOException
Create a new ServletOutputStream which returns a GZIPResponseStream

Returns:
GZIPResponseStream object
Throws:
java.io.IOException - If there is an error creating the response stream

finishResponse

public void finishResponse()
                    throws java.io.IOException
Finish the response

Throws:
java.io.IOException

flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Flush the output buffer

Throws:
java.io.IOException - If there is an error flushing the buffer

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Retrieve the output stream for this response wrapper

Returns:
createOutputStream()
Throws:
java.io.IOException - If there is an error retrieving the output stream

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Retrieve a writer for this response wrapper

Returns:
PrintWriter that wraps an OutputStreamWriter (using UTF-8 as encoding)
Throws:
java.io.IOException - If there is an error retrieving the writer

setContentLength

public void setContentLength(int length)
Set the content length for the response. Currently a no-op.

Parameters:
length - Content length