Interface Index<V>

Type Parameters:
V - the entry type
All Known Subinterfaces:
Index.Mutable<V>

public interface Index<V>
An immutable String lookup data structure.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
    Builder of Index instances.
    static interface 
    A mutable String lookup data structure.
  • Method Summary

    Modifier and Type
    Method
    Description
    static <V> Index.Mutable<V>
    buildMutableVisibleAsciiAlphabet(boolean caseSensitive, int maxCapacity)
    A special purpose static builder for fast creation of specific Index type
    default boolean
    Check if there is an exact match from a String key
    static <V> Index<V>
    empty(boolean caseSensitive)
     
    Get an exact match from a String key
    get(String s, int offset, int len)
    Get an exact match from a String key
    Get an exact match from a segment of a ByteBuffer as key
    get(ByteBuffer b, int offset, int len)
    Get an exact match from a segment of a ByteBuffer as key
    default V
    getBest(byte[] b)
    Get the best match from key in a byte array.
    getBest(byte[] b, int offset, int len)
    Get the best match from key in a byte array.
    Get the best match from key in a String, which may be a prefix match or an exact match.
    getBest(String s, int offset, int len)
    Get the best match from key in a String.
    default V
    Get the best match from key in a byte buffer.
    getBest(ByteBuffer b, int offset, int len)
    Get the best match from key in a byte buffer.
    boolean
    Check if the index contains any entry.
    Get a Set of the keys contained in this index.
    int
    Get the number of entries in the index.
  • Method Details

    • get

      V get(String s)
      Get an exact match from a String key
      Parameters:
      s - The key, possibly null
      Returns:
      the value for the string key
    • get

      V get(ByteBuffer b)
      Get an exact match from a segment of a ByteBuffer as key
      Parameters:
      b - The buffer
      Returns:
      The value or null if not found
    • get

      V get(String s, int offset, int len)
      Get an exact match from a String key
      Parameters:
      s - The key, possibly null
      offset - The offset within the string of the key
      len - the length of the key
      Returns:
      the value for the string / offset / length
    • get

      V get(ByteBuffer b, int offset, int len)
      Get an exact match from a segment of a ByteBuffer as key
      Parameters:
      b - The buffer
      offset - The offset within the buffer of the key
      len - the length of the key
      Returns:
      The value or null if not found
    • contains

      default boolean contains(String s)
      Check if there is an exact match from a String key
      Parameters:
      s - The key, possibly null
      Returns:
      true if there is a match, false otherwise
    • getBest

      V getBest(String s, int offset, int len)
      Get the best match from key in a String.
      Parameters:
      s - The string, possibly null
      offset - The offset within the string of the key
      len - the length of the key
      Returns:
      The value or null if not found
    • getBest

      V getBest(String s)
      Get the best match from key in a String, which may be a prefix match or an exact match.
      Parameters:
      s - The string, possibly null
      Returns:
      The value or null if not found
    • getBest

      V getBest(ByteBuffer b, int offset, int len)
      Get the best match from key in a byte buffer. The key is assumed to by ISO_8859_1 characters.
      Parameters:
      b - The buffer
      offset - The offset within the buffer of the key
      len - the length of the key
      Returns:
      The value or null if not found
    • getBest

      default V getBest(ByteBuffer b)
      Get the best match from key in a byte buffer. The key is assumed to by ISO_8859_1 characters.
      Parameters:
      b - The buffer
      Returns:
      The value or null if not found
    • getBest

      V getBest(byte[] b, int offset, int len)
      Get the best match from key in a byte array. The key is assumed to by ISO_8859_1 characters.
      Parameters:
      b - The buffer
      offset - The offset within the array of the key
      len - the length of the key
      Returns:
      The value or null if not found
    • getBest

      default V getBest(byte[] b)
      Get the best match from key in a byte array. The key is assumed to by ISO_8859_1 characters.
      Parameters:
      b - The buffer
      Returns:
      The value or null if not found
    • isEmpty

      boolean isEmpty()
      Check if the index contains any entry.
      Returns:
      true if the index does not contain any entry.
    • size

      int size()
      Get the number of entries in the index.
      Returns:
      the index' entries count.
    • keySet

      Set<String> keySet()
      Get a Set of the keys contained in this index.
      Returns:
      a Set of the keys contained in this index.
    • buildMutableVisibleAsciiAlphabet

      static <V> Index.Mutable<V> buildMutableVisibleAsciiAlphabet(boolean caseSensitive, int maxCapacity)
      A special purpose static builder for fast creation of specific Index type
      Type Parameters:
      V - The type of the index
      Parameters:
      maxCapacity - The max capacity of the index
      Returns:
      A case sensitive mutable Index tacking visible ASCII alphabet to a max capacity.
    • empty

      static <V> Index<V> empty(boolean caseSensitive)