package com.swabunga.spell.engine; import java.util.List; /** * An interface for all dictionary implementations. It defines the most basic * operations on a dictionary: adding words, checking if a word is correct, and getting a list * of suggestions for misspelled words. */ public interface SpellDictionary { /** * Add a word permanently to the dictionary. */ public void addWord(String word); /** * Returns true if the word is correctly spelled against the dictionary. */ public boolean isCorrect(String word); /** * Returns a list of Word objects that are the suggestions to any word. * If the word is correctly spelled, then this method * could return just that one word, or it could still return a list * of words with similar spellings. *
* Each suggested word has a score, which is an integer * that represents how different the suggested word is from the sourceWord. * If the words are the exactly the same, then the score is 0. * You can get the dictionary to only return the most similiar words by setting * an appropriately low threshold value. * If you set the threshold value too low, you may get no suggestions for a given word. *

* @param sourceWord the string that we want to get a list of spelling suggestions for * @param scoreThreshold Any words that have score less than this number are returned. * @return List a List of suggested words * @see com.swabunga.spell.engine.Word */ public List getSuggestions(String sourceWord, int scoreThreshold); }