|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface KeyAnalyzer<K>
Defines the interface to analyze Trie
keys on a bit level.
KeyAnalyzer
's methods return the length of the key in bits,
whether or not a bit is set, and bits per element in the key.
Additionally, a method determines if a key is a prefix of another
key and returns the bit index where one key is different from another
key (if the key and found key are equal than the return value is
EQUAL_BIT_KEY
).
Field Summary | |
---|---|
static int |
EQUAL_BIT_KEY
Returned by bitIndex(Object, int, int, Object, int, int)
if key and found key are equal. |
static int |
NULL_BIT_KEY
Returned by bitIndex(Object, int, int, Object, int, int)
if key's bits are all 0 |
static int |
OUT_OF_BOUNDS_BIT_KEY
|
Method Summary | |
---|---|
int |
bitIndex(K key,
int offsetInBits,
int lengthInBits,
K other,
int otherOffsetInBits,
int otherLengthInBits)
Returns the n-th different bit between key and found. |
int |
bitsPerElement()
Returns the number of bits per element in the key. |
boolean |
isBitSet(K key,
int bitIndex,
int lengthInBits)
Returns whether or not a bit is set |
boolean |
isPrefix(K prefix,
int offsetInBits,
int lengthInBits,
K key)
Determines whether or not the given prefix (from offset to length) is a prefix of the given key. |
int |
lengthInBits(K key)
Returns the length of the Key in bits. |
Methods inherited from interface java.util.Comparator |
---|
compare, equals |
Field Detail |
---|
static final int NULL_BIT_KEY
bitIndex(Object, int, int, Object, int, int)
if key's bits are all 0
static final int EQUAL_BIT_KEY
bitIndex(Object, int, int, Object, int, int)
if key and found key are equal. This is a very very specific case
and shouldn't happen on a regular basis
static final int OUT_OF_BOUNDS_BIT_KEY
Method Detail |
---|
int bitsPerElement()
int lengthInBits(K key)
boolean isBitSet(K key, int bitIndex, int lengthInBits)
int bitIndex(K key, int offsetInBits, int lengthInBits, K other, int otherOffsetInBits, int otherLengthInBits)
boolean isPrefix(K prefix, int offsetInBits, int lengthInBits, K key)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |