javawebparts.filter
Class CompressionResWrapper

java.lang.Object
  |
  +--javax.servlet.ServletResponseWrapper
        |
        +--javax.servlet.http.HttpServletResponseWrapper
              |
              +--javawebparts.filter.CompressionResWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class CompressionResWrapper
extends javax.servlet.http.HttpServletResponseWrapper

This class is used to do compression.

Author:
Frank W. Zammetti.

Field Summary
private  java.lang.String compressionType
          What type of compression this wrapper will do.
static java.lang.String DEFLATE
          String identifier for Deflate compression.
static java.lang.String GZIP
          String identifier for GZip compression.
private  javax.servlet.http.HttpServletResponse resp
          The servlet response being services.
private  javax.servlet.ServletOutputStream strm
          The servlet output stream we will write to.
private  java.io.PrintWriter wrtr
          PrintWriter used for writing.
 
Fields inherited from class javax.servlet.ServletResponseWrapper
 
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
CompressionResWrapper(javax.servlet.http.HttpServletResponse inResp, java.lang.String ct)
          Constructor.
 
Method Summary
 void complete()
          Clean up.
private  javax.servlet.ServletOutputStream createOutputStream()
          Creates a suitable custom ServletOutputStream.
 void flushBuffer()
          Flush the stream.
 java.lang.String getCompressionType()
          Returns the type of compression this wrapper is doing.
 javax.servlet.ServletOutputStream getOutputStream()
          Creates a suitable custom ServletOutputStream.
 java.io.PrintWriter getWriter()
          Gets a PrintWriter off the output stream.
 
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, 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
getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setContentLength, setContentType, setLocale
 

Field Detail

GZIP

public static final java.lang.String GZIP
String identifier for GZip compression.

See Also:
Constant Field Values

DEFLATE

public static final java.lang.String DEFLATE
String identifier for Deflate compression.

See Also:
Constant Field Values

resp

private javax.servlet.http.HttpServletResponse resp
The servlet response being services.


strm

private javax.servlet.ServletOutputStream strm
The servlet output stream we will write to.


wrtr

private java.io.PrintWriter wrtr
PrintWriter used for writing.


compressionType

private java.lang.String compressionType
What type of compression this wrapper will do.

Constructor Detail

CompressionResWrapper

public CompressionResWrapper(javax.servlet.http.HttpServletResponse inResp,
                             java.lang.String ct)
Constructor.

Parameters:
inResp - HttpServletResponse being serviced.
ct - Compression type to do.
Method Detail

getCompressionType

public java.lang.String getCompressionType()
Returns the type of compression this wrapper is doing.

Returns:
The current compression type for this object.

createOutputStream

private javax.servlet.ServletOutputStream createOutputStream()
                                                      throws java.io.IOException
Creates a suitable custom ServletOutputStream.

Returns:
A ServletOutputStream supporting the correct compression type.
Throws:
java.io.IOException - IOException.

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Gets a PrintWriter off the output stream.

Specified by:
getWriter in interface javax.servlet.ServletResponse
Overrides:
getWriter in class javax.servlet.ServletResponseWrapper
Returns:
PrintWriter on the OutputStream created.
Throws:
java.io.IOException - IOException.

complete

public void complete()
              throws java.io.IOException
Clean up.

Throws:
java.io.IOException - IOException.

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Creates a suitable custom ServletOutputStream.

Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class javax.servlet.ServletResponseWrapper
Returns:
A ServletOutputStream.
Throws:
java.io.IOException - IOException.

flushBuffer

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

Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Overrides:
flushBuffer in class javax.servlet.ServletResponseWrapper
Throws:
java.io.IOException - IOException.


Copyright 2005 Frank W. Zammetti