org.talika.tarsis.filters.gzip
Class GZIPResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.talika.tarsis.filters.gzip.GZIPResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public final class GZIPResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

Provides a convenient implementation of the HttpServletResponse interface that permits us replace default ServletOutputStream by our GZIPServletOutputStream.

Version:
$Revision: 122 $
Author:
Jose M. Palomar

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
GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response)
          Constructs a response adaptor wrapping the given response.
GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response, int bufferSize)
          Constructs a response adaptor wrapping the given response and buffer size.
 
Method Summary
 void flushBuffer()
          Forces any content in the buffer to be written to the client.
 javax.servlet.ServletOutputStream getOutputStream()
          Returns a ServletOutputStream suitable for writing binary data in the response.
 java.io.PrintWriter getWriter()
          Returns a PrintWriter object that can send character text to the client.
 void setContentLength(int length)
          Sets the length of the content body in the response In HTTP servlets, this method sets the HTTP Content-Length header.
 
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
 

Constructor Detail

GZIPResponseWrapper

public GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response)
Constructs a response adaptor wrapping the given response.

Parameters:
response - HttpServletResponse reponse to be wrapped.

GZIPResponseWrapper

public GZIPResponseWrapper(javax.servlet.http.HttpServletResponse response,
                           int bufferSize)
Constructs a response adaptor wrapping the given response and buffer size.

Parameters:
response - HttpServletResponse reponse to be wrapped.
bufferSize - int buffer size.
Method Detail

flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Forces any content in the buffer to be written to the client. A call to this method automatically commits the response, meaning the status code and headers will be written.

Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Overrides:
flushBuffer in class javax.servlet.ServletResponseWrapper
Throws:
java.io.IOException - if an input or output exception occurs.
See Also:
ServletResponse.flushBuffer()

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Returns a ServletOutputStream suitable for writing binary data in the response. The servlet container does not encode the binary data.

Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Overrides:
getOutputStream in class javax.servlet.ServletResponseWrapper
Returns:
ServletOutputStream a ServletOutputStream for writing binary data.
Throws:
java.io.IOException - if an input or output exception occurs.
See Also:
ServletResponse.getOutputStream()

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Returns a PrintWriter object that can send character text to the client.

Specified by:
getWriter in interface javax.servlet.ServletResponse
Overrides:
getWriter in class javax.servlet.ServletResponseWrapper
Returns:
PrintWriter a PrintWriter object that can return character data to the client.
Throws:
java.io.IOException - if an input or output exception occurs.
See Also:
ServletResponse.getWriter()

setContentLength

public void setContentLength(int length)
Sets the length of the content body in the response In HTTP servlets, this method sets the HTTP Content-Length header.

Specified by:
setContentLength in interface javax.servlet.ServletResponse
Overrides:
setContentLength in class javax.servlet.ServletResponseWrapper
Parameters:
length - int an integer specifying the length of the content being returned to the client; sets the Content-Length header
See Also:
ServletResponse.setContentLength(int)


Copyright © 2002-2012 Talika Open Source Group. All Rights Reserved.