public abstract class HttpServletResponseOutputWrapper
extends javax.servlet.http.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(javax.servlet.http.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 java.io.OutputStream |
createOutputStream()
Returns the custom implementation of the servlet response
OutputStream . |
void |
flushBuffer() |
javax.servlet.ServletOutputStream |
getOutputStream() |
java.io.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, setStatus
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
public HttpServletResponseOutputWrapper(javax.servlet.http.HttpServletResponse wrappedResponse)
HttpServletResponseOutputWrapper
which wraps the given response.wrappedResponse
- The wrapped response.protected abstract java.io.OutputStream createOutputStream()
OutputStream
.OutputStream
.public javax.servlet.ServletOutputStream getOutputStream() throws java.io.IOException
getOutputStream
in interface javax.servlet.ServletResponse
getOutputStream
in class javax.servlet.ServletResponseWrapper
java.io.IOException
public java.io.PrintWriter getWriter() throws java.io.IOException
getWriter
in interface javax.servlet.ServletResponse
getWriter
in class javax.servlet.ServletResponseWrapper
java.io.IOException
public void flushBuffer() throws java.io.IOException
flushBuffer
in interface javax.servlet.ServletResponse
flushBuffer
in class javax.servlet.ServletResponseWrapper
java.io.IOException
public void close() throws java.io.IOException
java.io.IOException
- When an I/O error occurs.public void reset()
reset
in interface javax.servlet.ServletResponse
reset
in class javax.servlet.ServletResponseWrapper
public boolean isCommitted()
isCommitted
in interface javax.servlet.ServletResponse
isCommitted
in class javax.servlet.ServletResponseWrapper
true
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
.