org.egothor.stemmer
Class Trie

java.lang.Object
  extended by org.egothor.stemmer.Trie
Direct Known Subclasses:
MultiTrie

public class Trie
extends Object

A Trie is used to store a dictionary of words and their stems.

Actually, what is stored are words with their respective patch commands. A trie can be termed forward (keys read from left to right) or backward (keys read from right to left). This property will vary depending on the language for which a Trie is constructed.


Constructor Summary
Trie(boolean forward)
          Constructor for the Trie object.
Trie(boolean forward, int root, List<CharSequence> cmds, List<Row> rows)
          Constructor for the Trie object.
Trie(DataInput is)
          Constructor for the Trie object.
 
Method Summary
 void add(CharSequence key, CharSequence cmd)
          Add the given key associated with the given patch command.
 CharSequence[] getAll(CharSequence key)
          Gets the all attribute of the Trie object
 int getCells()
          Return the number of cells in this Trie object.
 int getCellsPnt()
          Gets the cellsPnt attribute of the Trie object
 int getCellsVal()
          Gets the cellsVal attribute of the Trie object
 CharSequence getFully(CharSequence key)
          Return the element that is stored in a cell associated with the given key.
 CharSequence getLastOnPath(CharSequence key)
          Return the element that is stored as last on a path associated with the given key.
 void printInfo(CharSequence prefix)
           
 Trie reduce(Reduce by)
          Remove empty rows from the given Trie and return the newly reduced Trie.
 void store(DataOutput os)
          Write this Trie to the given output stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Trie

public Trie(DataInput is)
     throws IOException
Constructor for the Trie object.

Parameters:
is - the input stream
Throws:
IOException - if an I/O error occurs

Trie

public Trie(boolean forward)
Constructor for the Trie object.

Parameters:
forward - set to true

Trie

public Trie(boolean forward,
            int root,
            List<CharSequence> cmds,
            List<Row> rows)
Constructor for the Trie object.

Parameters:
forward - true if read left to right, false if read right to left
root - index of the row that is the root node
cmds - the patch commands to store
rows - a Vector of Vectors. Each inner Vector is a node of this Trie
Method Detail

getAll

public CharSequence[] getAll(CharSequence key)
Gets the all attribute of the Trie object

Parameters:
key - Description of the Parameter
Returns:
The all value

getCells

public int getCells()
Return the number of cells in this Trie object.

Returns:
the number of cells

getCellsPnt

public int getCellsPnt()
Gets the cellsPnt attribute of the Trie object

Returns:
The cellsPnt value

getCellsVal

public int getCellsVal()
Gets the cellsVal attribute of the Trie object

Returns:
The cellsVal value

getFully

public CharSequence getFully(CharSequence key)
Return the element that is stored in a cell associated with the given key.

Parameters:
key - the key
Returns:
the associated element

getLastOnPath

public CharSequence getLastOnPath(CharSequence key)
Return the element that is stored as last on a path associated with the given key.

Parameters:
key - the key associated with the desired element
Returns:
the last on path element

store

public void store(DataOutput os)
           throws IOException
Write this Trie to the given output stream.

Parameters:
os - the output stream
Throws:
IOException - if an I/O error occurs

add

public void add(CharSequence key,
                CharSequence cmd)
Add the given key associated with the given patch command. If either parameter is null this method will return without executing.

Parameters:
key - the key
cmd - the patch command

reduce

public Trie reduce(Reduce by)
Remove empty rows from the given Trie and return the newly reduced Trie.

Parameters:
by - the Trie to reduce
Returns:
the newly reduced Trie

printInfo

public void printInfo(CharSequence prefix)