java.lang.Object
jakarta.servlet.ServletResponseWrapper
jakarta.servlet.http.HttpServletResponseWrapper
org.omnifaces.servlet.HttpServletResponseOutputWrapper
- All Implemented Interfaces:
HttpServletResponse,ServletResponse
- Direct Known Subclasses:
BufferedHttpServletResponse,CompressedHttpServletResponse
Convenience class for extending
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.
- Since:
- 1.1
- Author:
- Bauke Scholtz
-
Field Summary
Fields inherited from interface jakarta.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_MISDIRECTED_REQUEST, 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_PERMANENT_REDIRECT, 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_UNPROCESSABLE_CONTENT, SC_UNSUPPORTED_MEDIA_TYPE, SC_UPGRADE_REQUIRED, SC_USE_PROXY -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedHttpServletResponseOutputWrapper(HttpServletResponse wrappedResponse) Construct a newHttpServletResponseOutputWrapperwhich wraps the given response. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close the response body.protected abstract OutputStreamReturns the custom implementation of the servlet responseOutputStream.voidbooleanReturns whether the response is committed or not.booleanReturns whether the writing has to be passed through to the wrappedServletOutputStream.voidreset()voidsetPassThrough(boolean passThrough) Sets whether the writing has to be passed through to the wrappedServletOutputStream.Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, sendRedirect, sendRedirect, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setTrailerFieldsMethods inherited from class jakarta.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, setCharacterEncoding, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale, setResponseMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, resetBuffer, setBufferSize, setCharacterEncoding, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
HttpServletResponseOutputWrapper
Construct a newHttpServletResponseOutputWrapperwhich wraps the given response.- Parameters:
wrappedResponse- The wrapped response.
-
-
Method Details
-
createOutputStream
Returns the custom implementation of the servlet responseOutputStream.- Returns:
- The custom implementation of the servlet response
OutputStream.
-
getOutputStream
- Specified by:
getOutputStreamin interfaceServletResponse- Overrides:
getOutputStreamin classServletResponseWrapper- Throws:
IOException
-
getWriter
- Specified by:
getWriterin interfaceServletResponse- Overrides:
getWriterin classServletResponseWrapper- Throws:
IOException
-
flushBuffer
- Specified by:
flushBufferin interfaceServletResponse- Overrides:
flushBufferin classServletResponseWrapper- Throws:
IOException
-
close
Close the response body. This closes any created writer or output stream.- Throws:
IOException- When an I/O error occurs.
-
reset
public void reset()- Specified by:
resetin interfaceServletResponse- Overrides:
resetin classServletResponseWrapper
-
isCommitted
public boolean isCommitted()Returns whether the response is committed or not. The response is also considered committed when the resettable buffer has been flushed.- Specified by:
isCommittedin interfaceServletResponse- Overrides:
isCommittedin classServletResponseWrapper- Returns:
trueif the response is committed, otherwisefalse.
-
isPassThrough
public boolean isPassThrough()Returns whether the writing has to be passed through to the wrappedServletOutputStream.- Returns:
true, if the writing has to be passed through to the wrappedServletOutputStream, otherwisefalse.
-
setPassThrough
public void setPassThrough(boolean passThrough) Sets whether the writing has to be passed through to the wrappedServletOutputStream.- Parameters:
passThrough- set totrueif the writing has to be passed through to the wrappedServletOutputStream.
-