public abstract class HttpServletResponseOutputWrapper extends HttpServletResponseWrapper
HttpServletResponseWrapper wherein the servlet response OutputStream
has to be replaced by a custom implementation. This saves the developer from writing repeated
getOutputStream(), getWriter() and flushBuffer() boilerplate. All the developer has to do
is to implement the createOutputStream() accordingly. This will in turn be used by both
getOutputStream() and getWriter().
The boolean property passThrough, which defaults to false also enables the developer to
control whether to pass through to the wrapped ServletOutputStream or not.
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 and Description |
|---|
HttpServletResponseOutputWrapper(HttpServletResponse wrappedResponse)
Construct a new
HttpServletResponseOutputWrapper which wraps the given response. |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Close the response body.
|
protected abstract OutputStream |
createOutputStream()
Returns the custom implementation of the servlet response
OutputStream. |
void |
flushBuffer() |
ServletOutputStream |
getOutputStream() |
PrintWriter |
getWriter() |
boolean |
isCommitted()
Returns whether the response is committed or not.
|
boolean |
isPassThrough()
Returns whether the writing has to be passed through to the wrapped
ServletOutputStream. |
void |
reset() |
void |
setPassThrough(boolean passThrough)
Sets whether the writing has to be passed through to the wrapped
ServletOutputStream. |
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatusgetBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponseclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBufferSize, getCharacterEncoding, getContentType, getLocale, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocalepublic HttpServletResponseOutputWrapper(HttpServletResponse wrappedResponse)
HttpServletResponseOutputWrapper which wraps the given response.wrappedResponse - The wrapped response.protected abstract OutputStream createOutputStream()
OutputStream.OutputStream.public ServletOutputStream getOutputStream() throws IOException
getOutputStream in interface ServletResponsegetOutputStream in class ServletResponseWrapperIOExceptionpublic PrintWriter getWriter() throws IOException
getWriter in interface ServletResponsegetWriter in class ServletResponseWrapperIOExceptionpublic void flushBuffer()
throws IOException
flushBuffer in interface ServletResponseflushBuffer in class ServletResponseWrapperIOExceptionpublic void close()
throws IOException
IOException - When an I/O error occurs.public void reset()
reset in interface ServletResponsereset in class ServletResponseWrapperpublic boolean isCommitted()
isCommitted in interface ServletResponseisCommitted in class ServletResponseWrappertrue if the response is committed, otherwise false.public boolean isPassThrough()
ServletOutputStream.true, if the writing has to be passed through to the wrapped ServletOutputStream,
otherwise false.public void setPassThrough(boolean passThrough)
ServletOutputStream.passThrough - set to true if the writing has to be passed through to the wrapped
ServletOutputStream.