org.apache.commons.collections4.trie.analyzer
Class StringKeyAnalyzer

java.lang.Object
  extended by org.apache.commons.collections4.trie.KeyAnalyzer<String>
      extended by org.apache.commons.collections4.trie.analyzer.StringKeyAnalyzer
All Implemented Interfaces:
Serializable, Comparator<String>

public class StringKeyAnalyzer
extends KeyAnalyzer<String>

An KeyAnalyzer for Strings.

Since:
4.0
Version:
$Id: StringKeyAnalyzer.java 1491615 2013-06-10 21:46:19Z tn $
See Also:
Serialized Form

Field Summary
static StringKeyAnalyzer INSTANCE
          A singleton instance of StringKeyAnalyzer.
static int LENGTH
          The number of bits per Character.
 
Fields inherited from class org.apache.commons.collections4.trie.KeyAnalyzer
EQUAL_BIT_KEY, NULL_BIT_KEY, OUT_OF_BOUNDS_BIT_KEY
 
Constructor Summary
StringKeyAnalyzer()
           
 
Method Summary
 int bitIndex(String key, int offsetInBits, int lengthInBits, String other, int otherOffsetInBits, int otherLengthInBits)
          Returns the n-th different bit between key and other.
 int bitsPerElement()
          Returns the number of bits per element in the key.
 boolean isBitSet(String key, int bitIndex, int lengthInBits)
          Returns whether or not a bit is set.
 boolean isPrefix(String prefix, int offsetInBits, int lengthInBits, String key)
          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
 

Field Detail

INSTANCE

public static final StringKeyAnalyzer INSTANCE
A singleton instance of StringKeyAnalyzer.


LENGTH

public static final int LENGTH
The number of bits per Character.

See Also:
Constant Field Values
Constructor Detail

StringKeyAnalyzer

public StringKeyAnalyzer()
Method Detail

bitsPerElement

public int 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 class KeyAnalyzer<String>
Returns:
the number of bits per element

lengthInBits

public int lengthInBits(String key)
Description copied from class: KeyAnalyzer
Returns the length of the Key in bits.

Specified by:
lengthInBits in class KeyAnalyzer<String>
Parameters:
key - the key
Returns:
the bit length of the key

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 class KeyAnalyzer<String>
Parameters:
key - the key to use
offsetInBits - the bit offset in the key
lengthInBits - the maximum key length in bits to use
other - the other key to use
otherOffsetInBits - the bit offset in the other key
otherLengthInBits - the maximum key length in bits for the other key
Returns:
the bit index where the key and other first differ

isBitSet

public boolean isBitSet(String key,
                        int bitIndex,
                        int lengthInBits)
Description copied from class: KeyAnalyzer
Returns whether or not a bit is set.

Specified by:
isBitSet in class KeyAnalyzer<String>
Parameters:
key - the key to check, may not be null
bitIndex - the bit index to check
lengthInBits - the maximum key length in bits to check
Returns:
true if the bit is set in the given key and bitIndex < lengthInBits, false otherwise.

isPrefix

public boolean isPrefix(String prefix,
                        int offsetInBits,
                        int lengthInBits,
                        String key)
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 class KeyAnalyzer<String>
Parameters:
prefix - the prefix to check
offsetInBits - the bit offset in the key
lengthInBits - the maximum key length in bits to use
key - the key to check
Returns:
true if this is a valid prefix for the given key


Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.