org.rutil.collection.trie
Class DataSourceBackedTrie<VALUE_TYPE extends java.io.Serializable>

java.lang.Object
  extended by org.rutil.collection.trie.DataSourceBackedTrie<VALUE_TYPE>
All Implemented Interfaces:
java.io.Serializable, Trie<VALUE_TYPE>

public class DataSourceBackedTrie<VALUE_TYPE extends java.io.Serializable>
extends java.lang.Object
implements Trie<VALUE_TYPE>, java.io.Serializable

A prefix-trie implementation that stores common-prefixes as nodes.

Author:
mohan
See Also:
Serialized Form

Constructor Summary
DataSourceBackedTrie(DataSourceCallback<VALUE_TYPE> dataSourceCallback)
           
 
Method Summary
 void add(java.lang.String key, VALUE_TYPE value)
          Adds this key to trie.
 java.util.Iterator<VALUE_TYPE> find(java.lang.String key)
           
 java.util.Iterator<VALUE_TYPE> find(java.lang.String key, TrieMatcher matcher)
           
 TrieNode<java.lang.Long> findNode(char c)
           
 java.util.Iterator<VALUE_TYPE> remove(java.lang.String key)
           
 long size()
           
protected  java.util.Iterator<VALUE_TYPE> toValueIterator(java.util.Iterator<java.lang.Long> iterator)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataSourceBackedTrie

public DataSourceBackedTrie(DataSourceCallback<VALUE_TYPE> dataSourceCallback)
Method Detail

add

public void add(java.lang.String key,
                VALUE_TYPE value)
Adds this key to trie. Appends the value, if key already exists.

Specified by:
add in interface Trie<VALUE_TYPE extends java.io.Serializable>
Parameters:
key - key
value - value

remove

public java.util.Iterator<VALUE_TYPE> remove(java.lang.String key)
Specified by:
remove in interface Trie<VALUE_TYPE extends java.io.Serializable>

find

public java.util.Iterator<VALUE_TYPE> find(java.lang.String key)
Specified by:
find in interface Trie<VALUE_TYPE extends java.io.Serializable>

toValueIterator

protected java.util.Iterator<VALUE_TYPE> toValueIterator(java.util.Iterator<java.lang.Long> iterator)

find

public java.util.Iterator<VALUE_TYPE> find(java.lang.String key,
                                           TrieMatcher matcher)
Specified by:
find in interface Trie<VALUE_TYPE extends java.io.Serializable>

size

public long size()
Specified by:
size in interface Trie<VALUE_TYPE extends java.io.Serializable>

findNode

public TrieNode<java.lang.Long> findNode(char c)
Specified by:
findNode in interface Trie<VALUE_TYPE extends java.io.Serializable>