com.swabunga.spell.engine
Class SpellDictionaryDichoDisk

java.lang.Object
  extended by com.swabunga.spell.engine.SpellDictionaryASpell
      extended by com.swabunga.spell.engine.SpellDictionaryDichoDisk
All Implemented Interfaces:
SpellDictionary
Direct Known Subclasses:
SpellDictionaryCachedDichoDisk

public class SpellDictionaryDichoDisk
extends SpellDictionaryASpell

Another implementation of SpellDictionary that doesn't cache any words in memory. Avoids the huge footprint of SpellDictionaryHashMap at the cost of relatively minor latency. A future version of this class that implements some caching strategies might be a good idea in the future, if there's any demand for it. This implementation requires a special dictionary file, with "code*word" lines sorted by code. It's using a dichotomy algorithm to search for words in the dictionary

Version:
0.1
Author:
Damien Guillaume

Field Summary
 
Fields inherited from class com.swabunga.spell.engine.SpellDictionaryASpell
tf
 
Constructor Summary
SpellDictionaryDichoDisk(java.io.File wordList)
          Dictionary convenience Constructor.
SpellDictionaryDichoDisk(java.io.File wordList, java.io.File phonetic)
          Dictionary constructor that uses an aspell phonetic file to build the transformation table.
SpellDictionaryDichoDisk(java.io.File wordList, java.io.File phonetic, java.lang.String encoding)
          Dictionary constructor that uses an aspell phonetic file to build the transformation table.
SpellDictionaryDichoDisk(java.io.File wordList, java.lang.String encoding)
          Dictionary convenience Constructor.
 
Method Summary
 void addWord(java.lang.String word)
          Add a word permanently to the dictionary (and the dictionary file).
 java.util.List getWords(java.lang.String code)
          Returns a list of strings (words) for the code.
 
Methods inherited from class com.swabunga.spell.engine.SpellDictionaryASpell
getCode, getSuggestions, getSuggestions, isCorrect
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpellDictionaryDichoDisk

public SpellDictionaryDichoDisk(java.io.File wordList)
                         throws java.io.FileNotFoundException,
                                java.io.IOException
Dictionary convenience Constructor.

Parameters:
wordList - The file containing the words list for the dictionary
Throws:
java.io.FileNotFoundException - indicates problems locating the words list file on the system
java.io.IOException - indicates problems reading the words list file

SpellDictionaryDichoDisk

public SpellDictionaryDichoDisk(java.io.File wordList,
                                java.lang.String encoding)
                         throws java.io.FileNotFoundException,
                                java.io.IOException
Dictionary convenience Constructor.

Parameters:
wordList - The file containing the words list for the dictionary
encoding - Uses the character set encoding specified
Throws:
java.io.FileNotFoundException - indicates problems locating the words list file on the system
java.io.IOException - indicates problems reading the words list file

SpellDictionaryDichoDisk

public SpellDictionaryDichoDisk(java.io.File wordList,
                                java.io.File phonetic)
                         throws java.io.FileNotFoundException,
                                java.io.IOException
Dictionary constructor that uses an aspell phonetic file to build the transformation table.

Parameters:
wordList - The file containing the words list for the dictionary
phonetic - The file to use for phonetic transformation of the wordlist.
Throws:
java.io.FileNotFoundException - indicates problems locating the file on the system
java.io.IOException - indicates problems reading the words list file

SpellDictionaryDichoDisk

public SpellDictionaryDichoDisk(java.io.File wordList,
                                java.io.File phonetic,
                                java.lang.String encoding)
                         throws java.io.FileNotFoundException,
                                java.io.IOException
Dictionary constructor that uses an aspell phonetic file to build the transformation table.

Parameters:
wordList - The file containing the words list for the dictionary
phonetic - The file to use for phonetic transformation of the wordlist.
encoding - Uses the character set encoding specified
Throws:
java.io.FileNotFoundException - indicates problems locating the file on the system
java.io.IOException - indicates problems reading the words list file
Method Detail

addWord

public void addWord(java.lang.String word)
Add a word permanently to the dictionary (and the dictionary file). not implemented !

Parameters:
word - The word to add.

getWords

public java.util.List getWords(java.lang.String code)
Returns a list of strings (words) for the code.

Specified by:
getWords in class SpellDictionaryASpell
Parameters:
code - The phonetic code common to the list of words
Returns:
A list of words having the same phonetic code