Class OnCommittedResponseWrapper

  • All Implemented Interfaces:
    javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse
    Direct Known Subclasses:
    SaveContextOnUpdateOrErrorResponseWrapper

    public abstract class OnCommittedResponseWrapper
    extends javax.servlet.http.HttpServletResponseWrapper
    Base class for response wrappers which encapsulate the logic for handling an event when the HttpServletResponse is committed.
    Since:
    4.0.2
    • 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

      Constructors 
      Constructor Description
      OnCommittedResponseWrapper​(javax.servlet.http.HttpServletResponse response)  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void addHeader​(java.lang.String name, java.lang.String value)  
      protected void disableOnResponseCommitted()
      Invoke this method to disable invoking onResponseCommitted() when the HttpServletResponse is committed.
      void flushBuffer()
      Makes sure onResponseCommitted() is invoked before calling the superclass flushBuffer()
      javax.servlet.ServletOutputStream getOutputStream()
      Makes sure onResponseCommitted() is invoked before calling the calling getOutputStream().close() or getOutputStream().flush()
      java.io.PrintWriter getWriter()
      Makes sure onResponseCommitted() is invoked before calling the getWriter().close() or getWriter().flush()
      protected boolean isDisableOnResponseCommitted()
      Returns true if onResponseCommitted() will be invoked when the response is committed, else false.
      protected abstract void onResponseCommitted()
      Implement the logic for handling the HttpServletResponse being committed
      void sendError​(int sc)
      Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
      void sendError​(int sc, java.lang.String msg)
      Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
      void sendRedirect​(java.lang.String location)
      Makes sure onResponseCommitted() is invoked before calling the superclass sendRedirect()
      void setContentLength​(int len)  
      void setContentLengthLong​(long len)  
      • Methods inherited from class javax.servlet.http.HttpServletResponseWrapper

        addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, setDateHeader, setHeader, setIntHeader, setStatus, setStatus, setTrailerFields
      • Methods inherited from class javax.servlet.ServletResponseWrapper

        getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentType, 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, setContentType, setLocale
    • Constructor Detail

      • OnCommittedResponseWrapper

        public OnCommittedResponseWrapper​(javax.servlet.http.HttpServletResponse response)
        Parameters:
        response - the response to be wrapped
    • Method Detail

      • addHeader

        public void addHeader​(java.lang.String name,
                              java.lang.String value)
        Specified by:
        addHeader in interface javax.servlet.http.HttpServletResponse
        Overrides:
        addHeader in class javax.servlet.http.HttpServletResponseWrapper
      • setContentLength

        public void setContentLength​(int len)
        Specified by:
        setContentLength in interface javax.servlet.ServletResponse
        Overrides:
        setContentLength in class javax.servlet.ServletResponseWrapper
      • setContentLengthLong

        public void setContentLengthLong​(long len)
        Specified by:
        setContentLengthLong in interface javax.servlet.ServletResponse
        Overrides:
        setContentLengthLong in class javax.servlet.ServletResponseWrapper
      • disableOnResponseCommitted

        protected void disableOnResponseCommitted()
        Invoke this method to disable invoking onResponseCommitted() when the HttpServletResponse is committed. This can be useful in the event that Async Web Requests are made.
      • isDisableOnResponseCommitted

        protected boolean isDisableOnResponseCommitted()
        Returns true if onResponseCommitted() will be invoked when the response is committed, else false.
        Returns:
        if onResponseCommitted() is enabled
      • onResponseCommitted

        protected abstract void onResponseCommitted()
        Implement the logic for handling the HttpServletResponse being committed
      • sendError

        public final void sendError​(int sc)
                             throws java.io.IOException
        Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
        Specified by:
        sendError in interface javax.servlet.http.HttpServletResponse
        Overrides:
        sendError in class javax.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • sendError

        public final void sendError​(int sc,
                                    java.lang.String msg)
                             throws java.io.IOException
        Makes sure onResponseCommitted() is invoked before calling the superclass sendError()
        Specified by:
        sendError in interface javax.servlet.http.HttpServletResponse
        Overrides:
        sendError in class javax.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • sendRedirect

        public final void sendRedirect​(java.lang.String location)
                                throws java.io.IOException
        Makes sure onResponseCommitted() is invoked before calling the superclass sendRedirect()
        Specified by:
        sendRedirect in interface javax.servlet.http.HttpServletResponse
        Overrides:
        sendRedirect in class javax.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • getOutputStream

        public javax.servlet.ServletOutputStream getOutputStream()
                                                          throws java.io.IOException
        Makes sure onResponseCommitted() is invoked before calling the calling getOutputStream().close() or getOutputStream().flush()
        Specified by:
        getOutputStream in interface javax.servlet.ServletResponse
        Overrides:
        getOutputStream in class javax.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException
      • getWriter

        public java.io.PrintWriter getWriter()
                                      throws java.io.IOException
        Makes sure onResponseCommitted() is invoked before calling the getWriter().close() or getWriter().flush()
        Specified by:
        getWriter in interface javax.servlet.ServletResponse
        Overrides:
        getWriter in class javax.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException
      • flushBuffer

        public void flushBuffer()
                         throws java.io.IOException
        Makes sure onResponseCommitted() is invoked before calling the superclass flushBuffer()
        Specified by:
        flushBuffer in interface javax.servlet.ServletResponse
        Overrides:
        flushBuffer in class javax.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException