Class PathMatcher<T>

  • All Implemented Interfaces:
    Dumpable

    public class PathMatcher<T>
    extends Object
    implements Dumpable
    Handler that dispatches to a given handler based of a prefix match of the path.

    This only matches a single level of a request, e.g if you have a request that takes the form:

    /foo/bar

    Author:
    Stuart Douglas
    • Constructor Detail

      • PathMatcher

        public PathMatcher​(T defaultHandler)
      • PathMatcher

        public PathMatcher()
    • Method Detail

      • match

        public PathMatcher.PathMatch<T> match​(String path)
        Matches a path against the registered handlers.
        Parameters:
        path - The relative path to match
        Returns:
        The match match. This will never be null, however if none matched its value field will be
      • addPrefixPath

        public PathMatcher addPrefixPath​(String path,
                                         T handler)
        Adds a path prefix and a handler for that path. If the path does not start with a / then one will be prepended.

        The match is done on a prefix bases, so registering /foo will also match /bar. Exact path matches are taken into account first.

        If / is specified as the path then it will replace the default handler.

        Parameters:
        path - The path
        handler - The handler
      • getExactPath

        public T getExactPath​(String path)
      • getPrefixPath

        public T getPrefixPath​(String path)
      • dump

        public void dump​(int level)
        Specified by:
        dump in interface Dumpable