org.apache.struts2.components
Class Include.PageResponse

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.apache.struts2.components.Include.PageResponse
All Implemented Interfaces:
HttpServletResponse, ServletResponse
Enclosing class:
Include

static final class Include.PageResponse
extends HttpServletResponseWrapper

Simple wrapper to HTTPServletResponse that will allow getWriter() and getResponse() to be called as many times as needed without causing conflicts.

The underlying outputStream is a wrapper around Include.PageOutputStream which will store the written content to a buffer.

This buffer can later be retrieved by calling getContent().

Author:
Joe Walnes, Scott Farquhar

Field Summary
protected  ServletOutputStream outputStream
           
private  Include.PageOutputStream pageOutputStream
           
protected  PrintWriter pagePrintWriter
           
 
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
Include.PageResponse(HttpServletResponse response)
          Create PageResponse wrapped around an existing HttpServletResponse.
 
Method Summary
 FastByteArrayOutputStream getContent()
          Return the content buffered inside the Include.PageOutputStream.
 ServletOutputStream getOutputStream()
          Return instance of Include.PageOutputStream allowing all data written to stream to be stored in temporary buffer.
 PrintWriter getWriter()
          Return PrintWriter wrapper around PageOutputStream.
 
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, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, 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
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Field Detail

pagePrintWriter

protected PrintWriter pagePrintWriter

outputStream

protected ServletOutputStream outputStream

pageOutputStream

private Include.PageOutputStream pageOutputStream
Constructor Detail

Include.PageResponse

public Include.PageResponse(HttpServletResponse response)
Create PageResponse wrapped around an existing HttpServletResponse.

Method Detail

getContent

public FastByteArrayOutputStream getContent()
                                     throws IOException
Return the content buffered inside the Include.PageOutputStream.

Returns:
Throws:
IOException

getOutputStream

public ServletOutputStream getOutputStream()
                                    throws IOException
Return instance of Include.PageOutputStream allowing all data written to stream to be stored in temporary buffer.

Specified by:
getOutputStream in interface ServletResponse
Overrides:
getOutputStream in class ServletResponseWrapper
Throws:
IOException

getWriter

public PrintWriter getWriter()
                      throws IOException
Return PrintWriter wrapper around PageOutputStream.

Specified by:
getWriter in interface ServletResponse
Overrides:
getWriter in class ServletResponseWrapper
Throws:
IOException


Copyright © 2000-2008 Apache Software Foundation. All Rights Reserved.