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  Index.Builder<V>
      Builder of Index instances.
      static interface  Index.Mutable<V>
      A mutable String lookup data structure.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Default Methods 
      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
      static <V> Index<V> empty​(boolean caseSensitive)  
      V get​(java.lang.String s)
      Get an exact match from a String key
      V get​(java.lang.String s, int offset, int len)
      Get an exact match from a String key
      V get​(java.nio.ByteBuffer b)
      Get an exact match from a segment of a ByteBuffer as key
      V get​(java.nio.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.
      V getBest​(byte[] b, int offset, int len)
      Get the best match from key in a byte array.
      V getBest​(java.lang.String s)
      Get the best match from key in a String, which may be a prefix match or an exact match.
      V getBest​(java.lang.String s, int offset, int len)
      Get the best match from key in a String.
      default V getBest​(java.nio.ByteBuffer b)
      Get the best match from key in a byte buffer.
      V getBest​(java.nio.ByteBuffer b, int offset, int len)
      Get the best match from key in a byte buffer.
      boolean isEmpty()
      Check if the index contains any entry.
      java.util.Set<java.lang.String> keySet()
      Get a Set of the keys contained in this index.
      int size()
      Get the number of entries in the index.
    • Method Detail

      • get

        V get​(java.lang.String s)
        Get an exact match from a String key
        Parameters:
        s - The key
        Returns:
        the value for the string key
      • get

        V get​(java.nio.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​(java.lang.String s,
              int offset,
              int len)
        Get an exact match from a String key
        Parameters:
        s - The key
        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​(java.nio.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
      • getBest

        V getBest​(java.lang.String s,
                  int offset,
                  int len)
        Get the best match from key in a String.
        Parameters:
        s - The string
        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​(java.lang.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
        Returns:
        The value or null if not found
      • getBest

        V getBest​(java.nio.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​(java.nio.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

        java.util.Set<java.lang.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)