com.ibm.icu.text
Class BreakDictionary

java.lang.Object
  extended bycom.ibm.icu.text.BreakDictionary

public class BreakDictionary
extends Object

This is the class that represents the list of known words used by DictionaryBasedBreakIterator. The conceptual data structure used here is a trie: there is a node hanging off the root node for every letter that can start a word. Each of these nodes has a node hanging off of it for every letter that can be the second letter of a word if this node is the first letter, and so on. The trie is represented as a two-dimensional array that can be treated as a table of state transitions. Indexes are used to compress this array, taking advantage of the fact that this array will always be very sparse.

Status:
Internal. This API is Internal Only and can change at any time.

Constructor Summary
BreakDictionary(InputStream dictionaryStream)
           
 
Method Summary
 short at(int row, char ch)
          Uses the column map to map the character to a column number, then passes the row and column number to the other version of at()
 short at(int row, int col)
          Returns the value in the cell with the specified (logical) row and column numbers.
static void main(String[] args)
           
 void printWordList(String partialWord, int state, PrintWriter out)
           
 void readDictionaryFile(DataInputStream in)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BreakDictionary

public BreakDictionary(InputStream dictionaryStream)
                throws IOException
Status:
Internal. This API is Internal Only and can change at any time.
Method Detail

main

public static void main(String[] args)
                 throws FileNotFoundException,
                        UnsupportedEncodingException,
                        IOException
Throws:
FileNotFoundException
UnsupportedEncodingException
IOException
Status:
Internal. This API is Internal Only and can change at any time.

printWordList

public void printWordList(String partialWord,
                          int state,
                          PrintWriter out)
                   throws IOException
Throws:
IOException
Status:
Internal. This API is Internal Only and can change at any time.

readDictionaryFile

public void readDictionaryFile(DataInputStream in)
                        throws IOException
Throws:
IOException
Status:
Internal. This API is Internal Only and can change at any time.

at

public final short at(int row,
                      char ch)
Uses the column map to map the character to a column number, then passes the row and column number to the other version of at()

Parameters:
row - The current state
ch - The character whose column we're interested in
Returns:
The new state to transition to
Status:
Internal. This API is Internal Only and can change at any time.

at

public final short at(int row,
                      int col)
Returns the value in the cell with the specified (logical) row and column numbers. In DictionaryBasedBreakIterator, the row number is a state number, the column number is an input, and the return value is the row number of the new state to transition to. (0 is the "error" state, and -1 is the "end of word" state in a dictionary)

Parameters:
row - The row number of the current state
col - The column number of the input character (0 means "not a dictionary character")
Returns:
The row number of the new state to transition to
Status:
Internal. This API is Internal Only and can change at any time.


Copyright (c) 2004 IBM Corporation and others.