|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
org.sitemesh.webapp.contentfilter.HttpServletResponseBuffer
public class HttpServletResponseBuffer
Wraps an HttpServletResponse, allowing the output to be buffered. The passed
in Selector, will be used to determine whether to actually do the buffering
for the request.
If the response is not buffered, all operations will be delegated back to the original response, unmodified.
If the response is buffered, the content written to getOutputStream()
and getWriter() to an underlying buffer instead, available through
getBuffer(). Additionally, the 'Content-Length' header will not be passed
through to the original response.
| 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 | |
|---|---|
HttpServletResponseBuffer(javax.servlet.http.HttpServletResponse originalResponse,
ResponseMetaData metaData,
Selector selector)
|
|
| Method Summary | |
|---|---|
protected void |
abortBufferingIfBadStatusCode(int statusCode)
|
void |
addDateHeader(String name,
long value)
|
void |
addHeader(String name,
String value)
|
void |
addIntHeader(String name,
int value)
|
boolean |
bufferingWasDisabled()
|
protected void |
disableBuffering()
Disable buffering for this request. |
protected void |
enableBuffering(String encoding)
Enable buffering for this request. |
void |
flushBuffer()
|
CharBuffer |
getBuffer()
Returns the underlying buffered content. |
javax.servlet.ServletOutputStream |
getOutputStream()
If buffering has been enabled for this request, it will return a stream that writes to the buffer, otherwise it will return the original stream. |
PrintWriter |
getWriter()
If buffering has been enabled for this request, it will return a writer that writes to the buffer, otherwise it will return the original writer. |
boolean |
isBufferStreamBased()
Whether the underlying buffer was written to using getOutputStream()
(as opposed to getWriter(). |
protected void |
preCommit()
Hook that is called just before the response is committed. |
void |
sendError(int statusCode)
|
void |
sendError(int statusCode,
String reason)
|
void |
sendRedirect(String location)
|
void |
setContentLength(int contentLength)
|
void |
setContentType(String type)
Enable/disable buffering for this request based on the result of Selector.shouldBufferForContentType(String, String, String). |
void |
setDateHeader(String name,
long value)
|
void |
setHeader(String name,
String value)
|
void |
setIntHeader(String name,
int value)
|
void |
setStatus(int statusCode)
|
void |
setStatus(int statusCode,
String reason)
|
| Methods inherited from class javax.servlet.http.HttpServletResponseWrapper |
|---|
addCookie, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL |
| 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 |
| Constructor Detail |
|---|
public HttpServletResponseBuffer(javax.servlet.http.HttpServletResponse originalResponse,
ResponseMetaData metaData,
Selector selector)
| Method Detail |
|---|
public javax.servlet.ServletOutputStream getOutputStream()
getOutputStream in interface javax.servlet.ServletResponsegetOutputStream in class javax.servlet.ServletResponseWrapperpublic PrintWriter getWriter()
getWriter in interface javax.servlet.ServletResponsegetWriter in class javax.servlet.ServletResponseWrapper
public CharBuffer getBuffer()
throws IOException
IOExceptionpublic boolean isBufferStreamBased()
getOutputStream()
(as opposed to getWriter(). If buffering was not enabled, false will be returned.
protected void enableBuffering(String encoding)
protected void disableBuffering()
public boolean bufferingWasDisabled()
protected void preCommit()
public void setContentType(String type)
Selector.shouldBufferForContentType(String, String, String).
setContentType in interface javax.servlet.ServletResponsesetContentType in class javax.servlet.ServletResponseWrapperpublic void setContentLength(int contentLength)
setContentLength in interface javax.servlet.ServletResponsesetContentLength in class javax.servlet.ServletResponseWrapper
public void flushBuffer()
throws IOException
flushBuffer in interface javax.servlet.ServletResponseflushBuffer in class javax.servlet.ServletResponseWrapperIOException
public void setHeader(String name,
String value)
setHeader in interface javax.servlet.http.HttpServletResponsesetHeader in class javax.servlet.http.HttpServletResponseWrapper
public void addHeader(String name,
String value)
addHeader in interface javax.servlet.http.HttpServletResponseaddHeader in class javax.servlet.http.HttpServletResponseWrapper
public void setIntHeader(String name,
int value)
setIntHeader in interface javax.servlet.http.HttpServletResponsesetIntHeader in class javax.servlet.http.HttpServletResponseWrapper
public void addIntHeader(String name,
int value)
addIntHeader in interface javax.servlet.http.HttpServletResponseaddIntHeader in class javax.servlet.http.HttpServletResponseWrapper
public void setDateHeader(String name,
long value)
setDateHeader in interface javax.servlet.http.HttpServletResponsesetDateHeader in class javax.servlet.http.HttpServletResponseWrapper
public void addDateHeader(String name,
long value)
addDateHeader in interface javax.servlet.http.HttpServletResponseaddDateHeader in class javax.servlet.http.HttpServletResponseWrapperpublic void setStatus(int statusCode)
setStatus in interface javax.servlet.http.HttpServletResponsesetStatus in class javax.servlet.http.HttpServletResponseWrapper
public void setStatus(int statusCode,
String reason)
setStatus in interface javax.servlet.http.HttpServletResponsesetStatus in class javax.servlet.http.HttpServletResponseWrapper
public void sendError(int statusCode)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOException
public void sendError(int statusCode,
String reason)
throws IOException
sendError in interface javax.servlet.http.HttpServletResponsesendError in class javax.servlet.http.HttpServletResponseWrapperIOException
public void sendRedirect(String location)
throws IOException
sendRedirect in interface javax.servlet.http.HttpServletResponsesendRedirect in class javax.servlet.http.HttpServletResponseWrapperIOExceptionprotected void abortBufferingIfBadStatusCode(int statusCode)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||