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

    All Methods Instance Methods Concrete Methods
    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 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

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