OSDN Git Service

39d0bec30d69d0b503597939875410728e152835
[neighbornote/NeighborNote.git] / src / com / swabunga / spell / engine / Transformator.java
1 /*\r
2 Jazzy - a Java library for Spell Checking\r
3 Copyright (C) 2001 Mindaugas Idzelis\r
4 Full text of license can be found in LICENSE.txt\r
5 \r
6 This library is free software; you can redistribute it and/or\r
7 modify it under the terms of the GNU Lesser General Public\r
8 License as published by the Free Software Foundation; either\r
9 version 2.1 of the License, or (at your option) any later version.\r
10 \r
11 This library is distributed in the hope that it will be useful,\r
12 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
14 Lesser General Public License for more details.\r
15 \r
16 You should have received a copy of the GNU Lesser General Public\r
17 License along with this library; if not, write to the Free Software\r
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA\r
19 */\r
20 package com.swabunga.spell.engine;\r
21 \r
22 /**\r
23  * An interface for all Transformators - which take a dictionary word and converts into its\r
24  * phonetic hash. These phonetic hashes are useful for determining what other words are\r
25  * similar to it, and then list those words as suggestions.\r
26  *\r
27  * @author Robert Gustavsson (robert@lindesign.se)\r
28  */\r
29 public interface Transformator {\r
30 \r
31   /**\r
32    * Take the given word, and return the best phonetic hash for it.\r
33    * @param word the word to transform\r
34    * @return the phonetic transformation of the word\r
35    */\r
36   public String transform(String word);\r
37 \r
38   /**\r
39    * gets the list of characters that should be swapped in to the misspelled word\r
40    * in order to try to find more suggestions.\r
41    * In general, this list represents all of the unique phonetic characters\r
42    * for this Transformator.\r
43    * <p/>\r
44    * The replace list is used in the getSuggestions method.\r
45    * All of the letters in the misspelled word are replaced with the characters from\r
46    * this list to try and generate more suggestions, which implies l*n tries,\r
47    * if l is the size of the string, and n is the size of this list.\r
48    * <p/>\r
49    * In addition to that, each of these letters is added to the misspelled word.\r
50    * <p/>\r
51    * @return char[] misspelled words should try replacing with these characters to get more suggestions\r
52    */\r
53   public char[] getReplaceList();\r
54 }\r