Package org.egothor.stemmer

# Class MultiTrie2

java.lang.Object
org.egothor.stemmer.Trie
org.egothor.stemmer.MultiTrie
org.egothor.stemmer.MultiTrie2

public class MultiTrie2 extends MultiTrie
The MultiTrie is a Trie of Tries.

It stores words and their associated patch commands. The MultiTrie handles patch commands broken into their constituent parts, as a MultiTrie does, but the commands are delimited by the skip command.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MultiTrie2(boolean forward)`
  Constructor for the MultiTrie2 object
  `MultiTrie2(DataInput is)`
  Constructor for the MultiTrie object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(CharSequence key, CharSequence cmd)`
  Add an element to this structure consisting of the given key and patch command.
  `CharSequence[]`
  `decompose(CharSequence cmd)`
  Break the given patch command into its constituent pieces.
  `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 belonging to the given key.
  `Trie`
  `reduce(Reduce by)`
  Remove empty rows from the given Trie and return the newly reduced Trie.
  `void`
  `store(DataOutput os)`
  Write this data structure to the given output stream.

  ### Methods inherited from class org.egothor.stemmer.MultiTrie

  `printInfo`

  ### Methods inherited from class org.egothor.stemmer.Trie

  `getAll, getCells, getCellsPnt, getCellsVal`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### MultiTrie2

    public MultiTrie2(DataInput is) throws IOException
    Constructor for the MultiTrie object.
    Parameters:
      `is` - the input stream
    Throws:
      `IOException` - if an I/O error occurs

  - ### MultiTrie2

    public MultiTrie2(boolean forward)
    Constructor for the MultiTrie2 object
    Parameters:
      `forward` - set to `true` if the elements should be read left to right

- ## Method Details

  - ### getFully

    public CharSequence getFully(CharSequence key)
    Return the element that is stored in a cell associated with the given key.
    Overrides:
      `getFully` in class `MultiTrie`
    Parameters:
      `key` - the key to the cell holding the desired element
    Returns:
      the element

  - ### getLastOnPath

    public CharSequence getLastOnPath(CharSequence key)
    Return the element that is stored as last on a path belonging to the given key.
    Overrides:
      `getLastOnPath` in class `MultiTrie`
    Parameters:
      `key` - the key associated with the desired element
    Returns:
      the element that is stored as last on a path

  - ### store

    public void store(DataOutput os) throws IOException
    Write this data structure to the given output stream.
    Overrides:
      `store` in class `MultiTrie`
    Parameters:
      `os` - the output stream
    Throws:
      `IOException` - if an I/O error occurs

  - ### add

    public void add(CharSequence key, CharSequence cmd)
    Add an element to this structure consisting of the given key and patch command.

    This method will return without executing if the `cmd` parameter's length is 0.

    Overrides:
      `add` in class `MultiTrie`
    Parameters:
      `key` - the key
      `cmd` - the patch command

  - ### decompose

    public CharSequence[] decompose(CharSequence cmd)
    Break the given patch command into its constituent pieces. The pieces are delimited by NOOP commands.
    Parameters:
      `cmd` - the patch command
    Returns:
      an array containing the pieces of the command

  - ### reduce

    public Trie reduce(Reduce by)
    Remove empty rows from the given Trie and return the newly reduced Trie.
    Overrides:
      `reduce` in class `MultiTrie`
    Parameters:
      `by` - the Trie to reduce
    Returns:
      the newly reduced Trie