Class StringKeyAnalyzer
java.lang.Object
org.apache.commons.collections4.trie.KeyAnalyzer<String>
org.apache.commons.collections4.trie.analyzer.StringKeyAnalyzer
- All Implemented Interfaces:
Serializable
,Comparator<String>
An
KeyAnalyzer
for String
s.- Since:
- 4.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final StringKeyAnalyzer
A singleton instance ofStringKeyAnalyzer
.static final int
The number of bits perCharacter
.Fields inherited from class org.apache.commons.collections4.trie.KeyAnalyzer
EQUAL_BIT_KEY, NULL_BIT_KEY, OUT_OF_BOUNDS_BIT_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
bitIndex
(String key, int offsetInBits, int lengthInBits, String other, int otherOffsetInBits, int otherLengthInBits) Returns the n-th different bit between key and other.int
Returns the number of bits per element in the key.boolean
Returns whether or not a bit is set.boolean
Determines whether or not the given prefix (from offset to length) is a prefix of the given key.int
lengthInBits
(String key) Returns the length of the Key in bits.Methods inherited from class org.apache.commons.collections4.trie.KeyAnalyzer
compare
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
Field Details
-
INSTANCE
A singleton instance ofStringKeyAnalyzer
. -
LENGTH
The number of bits perCharacter
.- See Also:
-
-
Constructor Details
-
StringKeyAnalyzer
public StringKeyAnalyzer()
-
-
Method Details
-
bitIndex
public int bitIndex(String key, int offsetInBits, int lengthInBits, String other, int otherOffsetInBits, int otherLengthInBits) Description copied from class:KeyAnalyzer
Returns the n-th different bit between key and other. This starts the comparison in key at 'offsetInBits' and goes for 'lengthInBits' bits, and compares to the other key starting at 'otherOffsetInBits' and going for 'otherLengthInBits' bits.- Specified by:
bitIndex
in classKeyAnalyzer<String>
- Parameters:
key
- the key to useoffsetInBits
- the bit offset in the keylengthInBits
- the maximum key length in bits to useother
- the other key to useotherOffsetInBits
- the bit offset in the other keyotherLengthInBits
- the maximum key length in bits for the other key- Returns:
- the bit index where the key and other first differ
-
bitsPerElement
Description copied from class:KeyAnalyzer
Returns the number of bits per element in the key. This is only useful for variable-length keys, such as Strings.- Specified by:
bitsPerElement
in classKeyAnalyzer<String>
- Returns:
- the number of bits per element
-
isBitSet
Description copied from class:KeyAnalyzer
Returns whether or not a bit is set.- Specified by:
isBitSet
in classKeyAnalyzer<String>
- Parameters:
key
- the key to check, may not be nullbitIndex
- the bit index to checklengthInBits
- the maximum key length in bits to check- Returns:
true
if the bit is set in the given key andbitIndex
<lengthInBits
,false
otherwise.
-
isPrefix
Description copied from class:KeyAnalyzer
Determines whether or not the given prefix (from offset to length) is a prefix of the given key.- Specified by:
isPrefix
in classKeyAnalyzer<String>
- Parameters:
prefix
- the prefix to checkoffsetInBits
- the bit offset in the keylengthInBits
- the maximum key length in bits to usekey
- the key to check- Returns:
true
if this is a valid prefix for the given key
-
lengthInBits
Description copied from class:KeyAnalyzer
Returns the length of the Key in bits.- Specified by:
lengthInBits
in classKeyAnalyzer<String>
- Parameters:
key
- the key- Returns:
- the bit length of the key
-