jodd.servlet.filter
Class CharArrayResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by jodd.servlet.filter.CharArrayResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class CharArrayResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

Response wrapper that takes everything the client would normally output and saves it in character array. It works only for writers, byte stream is not buffered.


Field Summary
protected  java.io.PrintWriter printWriter
           
protected  FastCharArrayWriter 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_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
CharArrayResponseWrapper(javax.servlet.http.HttpServletResponse response)
          Initializes wrapper by creating FastCharArrayWriter that will be used to accumulate the response.
 
Method Summary
 void close()
          Explicitly closes the writer.
 java.io.PrintWriter getWriter()
          Returns buffered writer.
 void reset()
           
 int size()
          Returns the size (number of characters) of written data.
 char[] toCharArray()
          Get the underlying character array or null if writer not used.
 java.lang.String toString()
          Get a String representation of the entire buffer.
 
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
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, isCommitted, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Field Detail

writer

protected FastCharArrayWriter writer

printWriter

protected java.io.PrintWriter printWriter
Constructor Detail

CharArrayResponseWrapper

public CharArrayResponseWrapper(javax.servlet.http.HttpServletResponse response)
Initializes wrapper by creating FastCharArrayWriter that will be used to accumulate the response.

Method Detail

getWriter

public java.io.PrintWriter getWriter()
Returns buffered writer. Buffer will be created if not already used.

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

toString

public java.lang.String toString()
Get a String representation of the entire buffer.

Do not call this method multiple times on the same wrapper as new string is created every time.

Overrides:
toString in class java.lang.Object

reset

public void reset()
Specified by:
reset in interface javax.servlet.ServletResponse
Overrides:
reset in class javax.servlet.ServletResponseWrapper

close

public void close()
Explicitly closes the writer.


size

public int size()
Returns the size (number of characters) of written data.


toCharArray

public char[] toCharArray()
Get the underlying character array or null if writer not used.



Copyright © 2003-2012 Jodd Team