Package 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

  Constructors
  Constructor
  Description
  `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

  Modifier and Type
  Method
  Description
  `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(PrintStream out, CharSequence prefix)`
  writes debugging info to the printstream
  `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 Details

  - ### 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 Details

  - ### 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

  - ### 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(PrintStream out, CharSequence prefix)
    writes debugging info to the printstream