Class MetaFilter

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

    public class MetaFilter
    extends Object
    implements javax.servlet.Filter
    Generic container filter to manage routing to different pipelines.

    Callers can create and configure a new processing pipeline by using one of the serve(String) or serveRegex(String) methods to allocate a binder for a particular URL pattern.

    Registered filters and servlets are initialized lazily, usually during the first request. Once initialized the bindings in this servlet cannot be modified without destroying the servlet and thereby destroying all registered filters and servlets.

    • Constructor Detail

      • MetaFilter

        public MetaFilter()
        Empty filter with no bindings.
    • Method Detail

      • serve

        public ServletBinder serve​(String path)
        Construct a binding for a specific path.
        Parameters:
        path - pattern to match.
        Returns:
        binder for the passed path.
      • serveRegex

        public ServletBinder serveRegex​(String expression)
        Construct a binding for a regular expression.
        Parameters:
        expression - the regular expression to pattern match the URL against.
        Returns:
        binder for the passed expression.
      • serveRegex

        public ServletBinder serveRegex​(Pattern pattern)
        Construct a binding for a regular expression.
        Parameters:
        pattern - the regular expression to pattern match the URL against.
        Returns:
        binder for the passed expression.
      • init

        public void init​(javax.servlet.FilterConfig filterConfig)
                  throws javax.servlet.ServletException
        Specified by:
        init in interface javax.servlet.Filter
        Throws:
        javax.servlet.ServletException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface javax.servlet.Filter
      • doFilter

        public void doFilter​(javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response,
                             javax.servlet.FilterChain chain)
                      throws IOException,
                             javax.servlet.ServletException
        Specified by:
        doFilter in interface javax.servlet.Filter
        Throws:
        IOException
        javax.servlet.ServletException
      • register

        protected ServletBinder register​(ServletBinder b)
        Configure a newly created binder.
        Parameters:
        b - the newly created binder.
        Returns:
        binder for the caller, potentially after adding one or more filters into the pipeline.