1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.eclipse.jetty.util;
20
21 import java.nio.ByteBuffer;
22 import java.nio.charset.StandardCharsets;
23
24
25
26
27
28
29
30
31
32
33 public abstract class AbstractTrie<V> implements Trie<V>
34 {
35 final boolean _caseInsensitive;
36
37 protected AbstractTrie(boolean insensitive)
38 {
39 _caseInsensitive=insensitive;
40 }
41
42 @Override
43 public boolean put(V v)
44 {
45 return put(v.toString(),v);
46 }
47
48 @Override
49 public V remove(String s)
50 {
51 V o=get(s);
52 put(s,null);
53 return o;
54 }
55
56 @Override
57 public V get(String s)
58 {
59 return get(s,0,s.length());
60 }
61
62 @Override
63 public V get(ByteBuffer b)
64 {
65 return get(b,0,b.remaining());
66 }
67
68 @Override
69 public V getBest(String s)
70 {
71 return getBest(s,0,s.length());
72 }
73
74 @Override
75 public V getBest(byte[] b, int offset, int len)
76 {
77 return getBest(new String(b,offset,len,StandardCharsets.ISO_8859_1));
78 }
79
80 @Override
81 public boolean isCaseInsensitive()
82 {
83 return _caseInsensitive;
84 }
85
86 }