Class TreeTrie<V>

  • Type Parameters:
    V - the entry type
    All Implemented Interfaces:
    Trie<V>

    public class TreeTrie<V>
    extends AbstractTrie<V>
    A Trie String lookup data structure using a tree

    This implementation is always case insensitive and is optimal for a variable number of fixed strings with few special characters.

    This Trie is stored in a Tree and is unlimited in capacity

    This Trie is not Threadsafe and contains no mutual exclusion or deliberate memory barriers. It is intended for an TreeTrie to be built by a single thread and then used concurrently by multiple threads and not mutated during that access. If concurrent mutations of the Trie is required external locks need to be applied.

    • Constructor Summary

      Constructors 
      Constructor Description
      TreeTrie()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()  
      V get​(java.lang.String s, int offset, int len)
      Get an exact match from a String key
      V get​(java.nio.ByteBuffer b, int offset, int len)
      Get an exact match from a segment of a ByteBuufer as key
      V getBest​(byte[] b, int offset, int len)
      Get the best match from key in a byte array.
      V getBest​(java.lang.String s, int offset, int len)
      Get the best match from key in a String.
      V getBest​(java.nio.ByteBuffer b, int offset, int len)
      Get the best match from key in a byte buffer.
      boolean isFull()  
      java.util.Set<java.lang.String> keySet()  
      boolean put​(java.lang.String s, V v)
      Put an entry into the Trie
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • TreeTrie

        public TreeTrie()
    • Method Detail

      • clear

        public void clear()
      • put

        public boolean put​(java.lang.String s,
                           V v)
        Description copied from interface: Trie
        Put an entry into the Trie
        Parameters:
        s - The key for the entry
        v - The value of the entry
        Returns:
        True if the Trie had capacity to add the field.
      • get

        public V get​(java.lang.String s,
                     int offset,
                     int len)
        Description copied from interface: Trie
        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

        public V get​(java.nio.ByteBuffer b,
                     int offset,
                     int len)
        Description copied from interface: Trie
        Get an exact match from a segment of a ByteBuufer 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

        public V getBest​(byte[] b,
                         int offset,
                         int len)
        Description copied from interface: Trie
        Get the best match from key in a byte array. The key is assumed to by ISO_8859_1 characters.
        Specified by:
        getBest in interface Trie<V>
        Overrides:
        getBest in class AbstractTrie<V>
        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

        public V getBest​(java.lang.String s,
                         int offset,
                         int len)
        Description copied from interface: Trie
        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

        public V getBest​(java.nio.ByteBuffer b,
                         int offset,
                         int len)
        Description copied from interface: Trie
        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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • keySet

        public java.util.Set<java.lang.String> keySet()
      • isFull

        public boolean isFull()