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