## org.egothor.stemmer
Class Trie

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