Class HttpServletResponseOutputWrapper
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
org.openremote.container.web.file.HttpServletResponseOutputWrapper
- All Implemented Interfaces:
javax.servlet.http.HttpServletResponse,javax.servlet.ServletResponse
- Direct Known Subclasses:
GzipHttpServletResponse
public abstract class HttpServletResponseOutputWrapper
extends javax.servlet.http.HttpServletResponseWrapper
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
-
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
ConstructorsConstructorDescriptionHttpServletResponseOutputWrapper(javax.servlet.http.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.voidjavax.servlet.ServletOutputStreambooleanReturns 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 javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus, setTrailerFieldsMethods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isWrapperFor, isWrapperFor, resetBuffer, setBufferSize, 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 javax.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale
-
Constructor Details
-
HttpServletResponseOutputWrapper
public HttpServletResponseOutputWrapper(javax.servlet.http.HttpServletResponse wrappedResponse) 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 interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
getWriter
- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
flushBuffer
- Specified by:
flushBufferin interfacejavax.servlet.ServletResponse- Overrides:
flushBufferin classjavax.servlet.ServletResponseWrapper- 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 interfacejavax.servlet.ServletResponse- Overrides:
resetin classjavax.servlet.ServletResponseWrapper
-
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 interfacejavax.servlet.ServletResponse- Overrides:
isCommittedin classjavax.servlet.ServletResponseWrapper- 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.
-