Class AbstractXFilter

  • All Implemented Interfaces:
    javax.servlet.Filter
    Direct Known Subclasses:
    AbstractXFilterUnifiedResponse

    @NotThreadSafe
    public abstract class AbstractXFilter
    extends com.helger.servlet.filter.AbstractHttpServletFilter
    Abstract HTTP based filter. It is aligned with AbstractXServlet and should bring similar abstraction level.
    Since:
    9.0.0
    Author:
    Philip Helger
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractXFilter()
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void doHttpFilter​(javax.servlet.http.HttpServletRequest aHttpRequest, javax.servlet.http.HttpServletResponse aHttpResponse, javax.servlet.FilterChain aChain)  
      protected com.helger.commons.callback.CallbackList<IXServletExceptionHandler> exceptionHandler()  
      protected boolean isMultipartEnabled()  
      void onFilterAfter​(javax.servlet.http.HttpServletRequest aHttpRequest, javax.servlet.http.HttpServletResponse aHttpResponse, com.helger.web.scope.IRequestWebScope aRequestScope)
      Invoked after the rest of the request was processed.
      com.helger.commons.state.EContinue onFilterBefore​(javax.servlet.http.HttpServletRequest aHttpRequest, javax.servlet.http.HttpServletResponse aHttpResponse, com.helger.web.scope.IRequestWebScope aRequestScope)
      Invoked before the rest of the request is processed.
      protected void setMultipartEnabled​(boolean bMultipartEnabled)
      Enable/disable multipart handling in this filter (works only if the request scope is created here)
      String toString()  
      • Methods inherited from class com.helger.servlet.filter.AbstractHttpServletFilter

        doFilter
      • Methods inherited from class com.helger.servlet.filter.AbstractServletFilter

        destroy, getFilterConfig, init, init
    • Constructor Detail

      • AbstractXFilter

        public AbstractXFilter()
        Constructor.
    • Method Detail

      • exceptionHandler

        @Nonnull
        @ReturnsMutableObject
        protected final com.helger.commons.callback.CallbackList<IXServletExceptionHandler> exceptionHandler()
        Returns:
        The internal exception handler list. Never null.
      • isMultipartEnabled

        protected final boolean isMultipartEnabled()
        Returns:
        true if multipart handling is enabled (default), false if not.
        Since:
        9.1.1
      • setMultipartEnabled

        protected final void setMultipartEnabled​(boolean bMultipartEnabled)
        Enable/disable multipart handling in this filter (works only if the request scope is created here)
        Parameters:
        bMultipartEnabled - true to enable, false to disable
        Since:
        9.1.1
      • onFilterBefore

        @Nonnull
        @OverrideOnDemand
        public com.helger.commons.state.EContinue onFilterBefore​(@Nonnull
                                                                 javax.servlet.http.HttpServletRequest aHttpRequest,
                                                                 @Nonnull
                                                                 javax.servlet.http.HttpServletResponse aHttpResponse,
                                                                 @Nonnull
                                                                 com.helger.web.scope.IRequestWebScope aRequestScope)
                                                          throws IOException,
                                                                 javax.servlet.ServletException
        Invoked before the rest of the request is processed.
        Parameters:
        aHttpRequest - The HTTP request. Never null.
        aHttpResponse - The HTTP response. Never null.
        aRequestScope - Current request scope. Never null.
        Returns:
        EContinue.CONTINUE to continue processing the request, EContinue.BREAK otherwise.
        Throws:
        IOException - In case of IO error
        javax.servlet.ServletException - In case of business level error
      • onFilterAfter

        @OverrideOnDemand
        public void onFilterAfter​(@Nonnull
                                  javax.servlet.http.HttpServletRequest aHttpRequest,
                                  @Nonnull
                                  javax.servlet.http.HttpServletResponse aHttpResponse,
                                  @Nonnull
                                  com.helger.web.scope.IRequestWebScope aRequestScope)
                           throws IOException,
                                  javax.servlet.ServletException
        Invoked after the rest of the request was processed.
        Parameters:
        aHttpRequest - The HTTP request. Never null.
        aHttpResponse - The HTTP response. Never null.
        aRequestScope - Current request scope. Never null.
        Throws:
        IOException - In case of IO error
        javax.servlet.ServletException - In case of business level error
      • doHttpFilter

        public void doHttpFilter​(@Nonnull
                                 javax.servlet.http.HttpServletRequest aHttpRequest,
                                 @Nonnull
                                 javax.servlet.http.HttpServletResponse aHttpResponse,
                                 @Nonnull
                                 javax.servlet.FilterChain aChain)
                          throws IOException,
                                 javax.servlet.ServletException
        Specified by:
        doHttpFilter in class com.helger.servlet.filter.AbstractHttpServletFilter
        Throws:
        IOException
        javax.servlet.ServletException
      • toString

        public String toString()
        Overrides:
        toString in class com.helger.servlet.filter.AbstractServletFilter