com.jfw.web.filter
Class CompressionServletResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by com.jfw.web.filter.CompressionServletResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class CompressionServletResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

Implementation of HttpServletResponseWrapper that works with the CompressionServletResponseStream implementation.


Field Summary
protected  java.lang.String className
           
protected  java.lang.String contentType
          Content type
protected static java.lang.String info
          Descriptive information about this Response implementation.
protected static JFWLogger logger
           
protected  javax.servlet.http.HttpServletResponse origResponse
          Original response
protected  javax.servlet.ServletOutputStream stream
          The ServletOutputStream that has been returned by getOutputStream(), if any.
protected  int threshold
          The threshold number to compress
protected  java.io.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_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
CompressionServletResponseWrapper(javax.servlet.http.HttpServletResponse response)
          Calls the parent constructor which creates a ServletResponse adaptor wrapping the given response object.
 
Method Summary
 javax.servlet.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.
 javax.servlet.ServletOutputStream getOutputStream()
          Return the servlet output stream associated with this Response.
 java.io.PrintWriter getWriter()
          Return the writer associated with this Response.
 void setCompressionThreshold(int threshold)
          Set threshold number
 void setContentLength(int length)
           
 void setContentType(java.lang.String contentType)
          Set content type
 
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, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, 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, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setLocale
 

Field Detail

origResponse

protected javax.servlet.http.HttpServletResponse origResponse
Original response


info

protected static final java.lang.String info
Descriptive information about this Response implementation.

See Also:
Constant Field Values

stream

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


writer

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


threshold

protected int threshold
The threshold number to compress


contentType

protected java.lang.String contentType
Content type


className

protected final java.lang.String className

logger

protected static final JFWLogger logger
Constructor Detail

CompressionServletResponseWrapper

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

Method Detail

setContentType

public void setContentType(java.lang.String contentType)
Set content type

Specified by:
setContentType in interface javax.servlet.ServletResponse
Overrides:
setContentType in class javax.servlet.ServletResponseWrapper

setCompressionThreshold

public void setCompressionThreshold(int threshold)
Set threshold number


createOutputStream

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

Throws:
java.io.IOException - if an input/output error occurs

finishResponse

public void finishResponse()
Finish a response.


flushBuffer

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

Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Overrides:
flushBuffer in class javax.servlet.ServletResponseWrapper
Throws:
java.io.IOException - if an input/output error occurs

getOutputStream

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

Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class javax.servlet.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 javax.servlet.ServletResponse
Overrides:
getWriter in class javax.servlet.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 length)
Specified by:
setContentLength in interface javax.servlet.ServletResponse
Overrides:
setContentLength in class javax.servlet.ServletResponseWrapper