org.riotfamily.common.web.util
Class CapturingResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.riotfamily.common.web.util.CapturingResponseWrapper
All Implemented Interfaces:
HttpServletResponse, ServletResponse

public class CapturingResponseWrapper
extends HttpServletResponseWrapper

ResponseWrapper that captures the output and redirects it to another OutputStream or Writer.

Author:
Felix Gnass [fgnass at neteye dot de]

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_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
CapturingResponseWrapper(HttpServletResponse response, OutputStream targetStream)
           
CapturingResponseWrapper(HttpServletResponse response, Writer targetWriter)
           
 
Method Summary
 void addCookie(Cookie cookie)
           
 void addDateHeader(String name, long date)
           
 void addHeader(String name, String value)
           
 void addIntHeader(String name, int value)
           
 void flush()
           
 void flushBuffer()
           
 ServletOutputStream getOutputStream()
           
 PrintWriter getWriter()
           
 boolean isError()
           
 void sendError(int sc)
           
 void sendError(int sc, String msg)
           
 void sendRedirect(String location)
           
 void setCharacterEncoding(String charset)
           
 void setContentLength(int len)
           
 void setContentType(String type)
           
 void setDateHeader(String name, long date)
           
 void setHeader(String name, String value)
           
 void setIntHeader(String name, int value)
           
 void setLocale(Locale loc)
           
 void setStatus(int sc)
           
 void setStatus(int sc, String sm)
           
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, 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
 

Constructor Detail

CapturingResponseWrapper

public CapturingResponseWrapper(HttpServletResponse response,
                                OutputStream targetStream)

CapturingResponseWrapper

public CapturingResponseWrapper(HttpServletResponse response,
                                Writer targetWriter)
Method Detail

getOutputStream

public ServletOutputStream getOutputStream()
                                    throws IOException
Specified by:
getOutputStream in interface ServletResponse
Overrides:
getOutputStream in class ServletResponseWrapper
Throws:
IOException

getWriter

public PrintWriter getWriter()
                      throws IOException
Specified by:
getWriter in interface ServletResponse
Overrides:
getWriter in class ServletResponseWrapper
Throws:
IOException

flush

public void flush()
           throws IOException
Throws:
IOException

flushBuffer

public void flushBuffer()
                 throws IOException
Specified by:
flushBuffer in interface ServletResponse
Overrides:
flushBuffer in class ServletResponseWrapper
Throws:
IOException

sendError

public void sendError(int sc)
               throws IOException
Specified by:
sendError in interface HttpServletResponse
Overrides:
sendError in class HttpServletResponseWrapper
Throws:
IOException

sendError

public void sendError(int sc,
                      String msg)
               throws IOException
Specified by:
sendError in interface HttpServletResponse
Overrides:
sendError in class HttpServletResponseWrapper
Throws:
IOException

sendRedirect

public void sendRedirect(String location)
                  throws IOException
Specified by:
sendRedirect in interface HttpServletResponse
Overrides:
sendRedirect in class HttpServletResponseWrapper
Throws:
IOException

isError

public boolean isError()

addCookie

public void addCookie(Cookie cookie)
Specified by:
addCookie in interface HttpServletResponse
Overrides:
addCookie in class HttpServletResponseWrapper

addDateHeader

public void addDateHeader(String name,
                          long date)
Specified by:
addDateHeader in interface HttpServletResponse
Overrides:
addDateHeader in class HttpServletResponseWrapper

addHeader

public void addHeader(String name,
                      String value)
Specified by:
addHeader in interface HttpServletResponse
Overrides:
addHeader in class HttpServletResponseWrapper

addIntHeader

public void addIntHeader(String name,
                         int value)
Specified by:
addIntHeader in interface HttpServletResponse
Overrides:
addIntHeader in class HttpServletResponseWrapper

setContentLength

public void setContentLength(int len)
Specified by:
setContentLength in interface ServletResponse
Overrides:
setContentLength in class ServletResponseWrapper

setContentType

public void setContentType(String type)
Specified by:
setContentType in interface ServletResponse
Overrides:
setContentType in class ServletResponseWrapper

setCharacterEncoding

public void setCharacterEncoding(String charset)
Specified by:
setCharacterEncoding in interface ServletResponse
Overrides:
setCharacterEncoding in class ServletResponseWrapper

setDateHeader

public void setDateHeader(String name,
                          long date)
Specified by:
setDateHeader in interface HttpServletResponse
Overrides:
setDateHeader in class HttpServletResponseWrapper

setIntHeader

public void setIntHeader(String name,
                         int value)
Specified by:
setIntHeader in interface HttpServletResponse
Overrides:
setIntHeader in class HttpServletResponseWrapper

setHeader

public void setHeader(String name,
                      String value)
Specified by:
setHeader in interface HttpServletResponse
Overrides:
setHeader in class HttpServletResponseWrapper

setLocale

public void setLocale(Locale loc)
Specified by:
setLocale in interface ServletResponse
Overrides:
setLocale in class ServletResponseWrapper

setStatus

public void setStatus(int sc)
Specified by:
setStatus in interface HttpServletResponse
Overrides:
setStatus in class HttpServletResponseWrapper

setStatus

public void setStatus(int sc,
                      String sm)
Specified by:
setStatus in interface HttpServletResponse
Overrides:
setStatus in class HttpServletResponseWrapper