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>

public class StringKeyAnalyzer extends KeyAnalyzer<String>
Since:
4.0
See Also:
  • Field Details

  • Constructor Details

  • 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 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
    • 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
    • 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
    • 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