--- /dev/null
+/*\r
+Jazzy - a Java library for Spell Checking\r
+Copyright (C) 2001 Mindaugas Idzelis\r
+Full text of license can be found in LICENSE.txt\r
+\r
+This library is free software; you can redistribute it and/or\r
+modify it under the terms of the GNU Lesser General Public\r
+License as published by the Free Software Foundation; either\r
+version 2.1 of the License, or (at your option) any later version.\r
+\r
+This library is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+Lesser General Public License for more details.\r
+\r
+You should have received a copy of the GNU Lesser General Public\r
+License along with this library; if not, write to the Free Software\r
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\r
+*/\r
+package com.swabunga.spell.engine;\r
+\r
+import java.util.List;\r
+\r
+/**\r
+ * An interface for all dictionary implementations. It defines the most basic\r
+ * operations on a dictionary: adding words, checking if a word is correct, and getting a list\r
+ * of suggestions for misspelled words.\r
+ */\r
+public interface SpellDictionary {\r
+\r
+ /**\r
+ * Add a word permanently to the dictionary.\r
+ * @param word The word to add to the dictionary\r
+ */\r
+ public void addWord(String word);\r
+\r
+ /**\r
+ * Evaluates if the word is correctly spelled against the dictionary.\r
+ * @param word The word to verify if it's spelling is OK.\r
+ * @return Indicates if the word is present in the dictionary.\r
+ */\r
+ public boolean isCorrect(String word);\r
+\r
+ /**\r
+ * Returns a list of Word objects that are the suggestions to any word.\r
+ * If the word is correctly spelled, then this method\r
+ * could return just that one word, or it could still return a list\r
+ * of words with similar spellings.\r
+ * <br/>\r
+ * Each suggested word has a score, which is an integer\r
+ * that represents how different the suggested word is from the sourceWord.\r
+ * If the words are the exactly the same, then the score is 0.\r
+ * You can get the dictionary to only return the most similar words by setting\r
+ * an appropriately low threshold value.\r
+ * If you set the threshold value too low, you may get no suggestions for a given word.\r
+ * <p>\r
+ * This method is only needed to provide backward compatibility. \r
+ * @see #getSuggestions(String, int, int[][])\r
+ * \r
+ * @param sourceWord the string that we want to get a list of spelling suggestions for\r
+ * @param scoreThreshold Any words that have score less than this number are returned.\r
+ * @return List a List of suggested words\r
+ * @see com.swabunga.spell.engine.Word\r
+ * \r
+ */\r
+ @SuppressWarnings("unchecked")\r
+public List getSuggestions(String sourceWord, int scoreThreshold);\r
+\r
+ /**\r
+ * Returns a list of Word objects that are the suggestions to any word.\r
+ * If the word is correctly spelled, then this method\r
+ * could return just that one word, or it could still return a list\r
+ * of words with similar spellings.\r
+ * <br/>\r
+ * Each suggested word has a score, which is an integer\r
+ * that represents how different the suggested word is from the sourceWord.\r
+ * If the words are the exactly the same, then the score is 0.\r
+ * You can get the dictionary to only return the most similar words by setting\r
+ * an appropriately low threshold value.\r
+ * If you set the threshold value too low, you may get no suggestions for a given word.\r
+ * <p>\r
+ * @param sourceWord the string that we want to get a list of spelling suggestions for\r
+ * @param scoreThreshold Any words that have score less than this number are returned.\r
+ * @param Two dimensional int array used to calculate edit distance. Allocating \r
+ * this memory outside of the function will greatly improve efficiency. \r
+ * @return List a List of suggested words\r
+ * @see com.swabunga.spell.engine.Word\r
+ */\r
+ @SuppressWarnings("unchecked")\r
+public List getSuggestions(String sourceWord, int scoreThreshold , int[][] matrix);\r
+\r
+}\r