X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=lib%2Fjetty%2Forg%2Feclipse%2Fjetty%2Fhttp%2FPathMap.java;h=d2196874245663db2b0fb1802aff6012ee68a1da;hp=b78f5728d30822092e6816267323e8ce77b85f95;hb=ba4f228fa9f72d50991a2218cfd83987ef5d385e;hpb=875b5e9651498a0cd8e0001c0742ba843e47cad0 diff --git a/lib/jetty/org/eclipse/jetty/http/PathMap.java b/lib/jetty/org/eclipse/jetty/http/PathMap.java index b78f5728..d2196874 100644 --- a/lib/jetty/org/eclipse/jetty/http/PathMap.java +++ b/lib/jetty/org/eclipse/jetty/http/PathMap.java @@ -1,6 +1,6 @@ // // ======================================================================== -// Copyright (c) 1995-2014 Mort Bay Consulting Pty. Ltd. +// Copyright (c) 1995-2016 Mort Bay Consulting Pty. Ltd. // ------------------------------------------------------------------------ // All rights reserved. This program and the accompanying materials // are made available under the terms of the Eclipse Public License v1.0 @@ -18,14 +18,18 @@ package org.eclipse.jetty.http; +import java.util.AbstractSet; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import org.eclipse.jetty.util.ArrayTernaryTrie; +import org.eclipse.jetty.util.IncludeExclude; +import org.eclipse.jetty.util.Predicate; import org.eclipse.jetty.util.Trie; import org.eclipse.jetty.util.URIUtil; @@ -569,4 +573,54 @@ public class PathMap extends HashMap this.mapped = mapped; } } + + public static class PathSet extends AbstractSet implements Predicate + { + private final PathMap _map = new PathMap<>(); + + @Override + public Iterator iterator() + { + return _map.keySet().iterator(); + } + + @Override + public int size() + { + return _map.size(); + } + + @Override + public boolean add(String item) + { + return _map.put(item,Boolean.TRUE)==null; + } + + @Override + public boolean remove(Object item) + { + return _map.remove(item)!=null; + } + + @Override + public boolean contains(Object o) + { + return _map.containsKey(o); + } + + @Override + public boolean test(String s) + { + return _map.containsMatch(s); + } + + public boolean containsMatch(String s) + { + return _map.containsMatch(s); + } + public boolean matches(String item) + { + return _map.containsMatch(item); + } + } }