Class AbstractBitwiseTrie<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- org.apache.commons.collections4.trie.AbstractBitwiseTrie<K,V>
-
- Type Parameters:
K
- the type of the keys in this mapV
- the type of the values in this map
- All Implemented Interfaces:
java.io.Serializable
,java.util.Map<K,V>
,java.util.SortedMap<K,V>
,Get<K,V>
,IterableGet<K,V>
,IterableMap<K,V>
,IterableSortedMap<K,V>
,OrderedMap<K,V>
,Put<K,V>
,Trie<K,V>
- Direct Known Subclasses:
AbstractPatriciaTrie
public abstract class AbstractBitwiseTrie<K,V> extends java.util.AbstractMap<K,V> implements Trie<K,V>, java.io.Serializable
This class provides some basicTrie
functionality and utility methods for actual bitwiseTrie
implementations.- Since:
- 4.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
AbstractBitwiseTrie.BasicEntry<K,V>
A basic implementation ofMap.Entry
.
-
Field Summary
Fields Modifier and Type Field Description private KeyAnalyzer<? super K>
keyAnalyzer
TheKeyAnalyzer
that's being used to build the PATRICIATrie
.private static long
serialVersionUID
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractBitwiseTrie(KeyAnalyzer<? super K> keyAnalyzer)
Constructs a newTrie
using the givenKeyAnalyzer
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
bitIndex(K key, K foundKey)
Utility method for callingKeyAnalyzer.bitIndex(Object, int, int, Object, int, int)
.(package private) int
bitsPerElement()
Returns the number of bits per element in the key(package private) K
castKey(java.lang.Object key)
A utility method to cast keys.(package private) static boolean
compare(java.lang.Object a, java.lang.Object b)
Returns true if both values are either null or equal.(package private) boolean
compareKeys(K key, K other)
An utility method for callingKeyAnalyzer.compare(Object, Object)
protected KeyAnalyzer<? super K>
getKeyAnalyzer()
Returns theKeyAnalyzer
that constructed theTrie
.(package private) boolean
isBitSet(K key, int bitIndex, int lengthInBits)
Returns whether or not the given bit on the key is set or false if the key is null.(package private) int
lengthInBits(K key)
Returns the length of the given key in bitsjava.lang.String
toString()
-
Methods inherited from class java.util.AbstractMap
clear, clone, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.commons.collections4.Get
containsKey, containsValue, entrySet, get, isEmpty, keySet, remove, size, values
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size
-
Methods inherited from interface org.apache.commons.collections4.OrderedMap
firstKey, lastKey, mapIterator, nextKey, previousKey
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
keyAnalyzer
private final KeyAnalyzer<? super K> keyAnalyzer
TheKeyAnalyzer
that's being used to build the PATRICIATrie
.
-
-
Constructor Detail
-
AbstractBitwiseTrie
protected AbstractBitwiseTrie(KeyAnalyzer<? super K> keyAnalyzer)
Constructs a newTrie
using the givenKeyAnalyzer
.- Parameters:
keyAnalyzer
- theKeyAnalyzer
to use
-
-
Method Detail
-
getKeyAnalyzer
protected KeyAnalyzer<? super K> getKeyAnalyzer()
Returns theKeyAnalyzer
that constructed theTrie
.- Returns:
- the
KeyAnalyzer
used by thisTrie
-
toString
public java.lang.String toString()
-
castKey
final K castKey(java.lang.Object key)
A utility method to cast keys. It actually doesn't cast anything. It's just fooling the compiler!
-
lengthInBits
final int lengthInBits(K key)
Returns the length of the given key in bits- See Also:
KeyAnalyzer.lengthInBits(Object)
-
bitsPerElement
final int bitsPerElement()
Returns the number of bits per element in the key- See Also:
KeyAnalyzer.bitsPerElement()
-
isBitSet
final boolean isBitSet(K key, int bitIndex, int lengthInBits)
Returns whether or not the given bit on the key is set or false if the key is null.- See Also:
KeyAnalyzer.isBitSet(Object, int, int)
-
bitIndex
final int bitIndex(K key, K foundKey)
Utility method for callingKeyAnalyzer.bitIndex(Object, int, int, Object, int, int)
.
-
compareKeys
final boolean compareKeys(K key, K other)
An utility method for callingKeyAnalyzer.compare(Object, Object)
-
compare
static boolean compare(java.lang.Object a, java.lang.Object b)
Returns true if both values are either null or equal.
-
-