Package org.egothor.stemmer

# Class MultiTrie

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

Direct Known Subclasses:
  `MultiTrie2`

public class MultiTrie extends Trie
The MultiTrie is a Trie of Tries. It stores words and their associated patch commands. The MultiTrie handles patch commands individually (each command by itself).

## Constructor Summary

Constructors
Constructor
Description
`MultiTrie(boolean forward)`
Constructor for the MultiTrie object
`MultiTrie(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`
`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.
`void`
`printInfo(PrintStream out, CharSequence prefix)`
Print the given prefix and the position(s) in the Trie where it appears.
`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.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

### MultiTrie

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

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

### MultiTrie

public MultiTrie(boolean forward)
Constructor for the MultiTrie 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 `Trie`
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 `Trie`
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 `Trie`
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.

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.

Overrides:
  `reduce` in class `Trie`
Parameters:
  `by` - the Trie to reduce
Returns:
  the newly reduced Trie

### printInfo

public void printInfo(PrintStream out, CharSequence prefix)
Print the given prefix and the position(s) in the Trie where it appears.

Overrides:
  `printInfo` in class `Trie`
Parameters:
  `prefix` - the desired prefix