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 public abstract class AbstractTrie<V> implements Trie<V>
33 {
34 final boolean _caseInsensitive;
35
36 protected AbstractTrie(boolean insensitive)
37 {
38 _caseInsensitive=insensitive;
39 }
40
41 @Override
42 public boolean put(V v)
43 {
44 return put(v.toString(),v);
45 }
46
47 @Override
48 public V remove(String s)
49 {
50 V o=get(s);
51 put(s,null);
52 return o;
53 }
54
55 @Override
56 public V get(String s)
57 {
58 return get(s,0,s.length());
59 }
60
61 @Override
62 public V get(ByteBuffer b)
63 {
64 return get(b,0,b.remaining());
65 }
66
67 @Override
68 public V getBest(String s)
69 {
70 return getBest(s,0,s.length());
71 }
72
73 @Override
74 public V getBest(byte[] b, int offset, int len)
75 {
76 return getBest(new String(b,offset,len,StandardCharsets.ISO_8859_1));
77 }
78
79 @Override
80 public boolean isCaseInsensitive()
81 {
82 return _caseInsensitive;
83 }
84
85 }