com.swabunga.spell.engine

Class GenericTransformator

public class GenericTransformator extends Object implements Transformator

A Generic implementation of a transformator takes an aspell phonetics file and constructs some sort of transformation table using the inner class TransformationRule.

Basically, each transformation rule represent a line in the phonetic file. One line contains two groups of characters separated by white space(s). The first group is the match expression. The match expression describe letters to associate with a syllable. The second group is the replacement expression giving the phonetic equivalent of the match expression.

Author: Robert Gustavsson (robert@lindesign.se)

See Also: SpellDictionaryASpell for information on getting phonetic files for aspell.

Field Summary
static charALPHABET_END
The alphabet end marker.
static charALPHABET_START
The alphabet start marker.
static StringDIGITCODE
During phonetic transformation of a word each numeric character is replaced by this DIGITCODE.
static charENDMULTI
End a group of characters which can be appended to the match expression of the phonetic file.
static String[]IGNORED_KEYWORDS
Phonetic file lines starting with the keywords are skipped.
static StringKEYWORD_ALPHBET
Phonetic file keyword indicating that a different alphabet is used for this language.
static StringREPLACEVOID
Phonetic file character code indicating that the replace expression is empty.
static charSTARTMULTI
Start a group of characters which can be appended to the match expression of the phonetic file.
Constructor Summary
GenericTransformator(File phonetic)
Construct a transformation table from the phonetic file
GenericTransformator(File phonetic, String encoding)
Construct a transformation table from the phonetic file
GenericTransformator(Reader phonetic)
Construct a transformation table from the phonetic file
Method Summary
char[]getCodeReplaceList()
Takes out all single character replacements and put them in a char array.
char[]getReplaceList()
Builds up an char array with the chars in the alphabet of the language as it was read from the alphabet tag in the phonetic file.
Stringtransform(String word)
Builds the phonetic code of the word.

Field Detail

ALPHABET_END

public static final char ALPHABET_END
The alphabet end marker.

See Also: KEYWORD_ALPHBET

ALPHABET_START

public static final char ALPHABET_START
The alphabet start marker.

See Also: KEYWORD_ALPHBET

DIGITCODE

public static final String DIGITCODE
During phonetic transformation of a word each numeric character is replaced by this DIGITCODE.

ENDMULTI

public static final char ENDMULTI
End a group of characters which can be appended to the match expression of the phonetic file.

IGNORED_KEYWORDS

public static final String[] IGNORED_KEYWORDS
Phonetic file lines starting with the keywords are skipped. The key words are: version, followup, collapse_result. Comments, starting with '#', are also skipped to the end of line.

KEYWORD_ALPHBET

public static final String KEYWORD_ALPHBET
Phonetic file keyword indicating that a different alphabet is used for this language. The keyword must be followed an ALPHABET_START marker, a list of characters defining the alphabet and a ALPHABET_END marker.

REPLACEVOID

public static final String REPLACEVOID
Phonetic file character code indicating that the replace expression is empty.

STARTMULTI

public static final char STARTMULTI
Start a group of characters which can be appended to the match expression of the phonetic file.

Constructor Detail

GenericTransformator

public GenericTransformator(File phonetic)
Construct a transformation table from the phonetic file

Parameters: phonetic the phonetic file as specified in aspell

Throws: java.io.IOException indicates a problem while reading the phonetic file

GenericTransformator

public GenericTransformator(File phonetic, String encoding)
Construct a transformation table from the phonetic file

Parameters: phonetic the phonetic file as specified in aspell encoding the character set required

Throws: java.io.IOException indicates a problem while reading the phonetic file

GenericTransformator

public GenericTransformator(Reader phonetic)
Construct a transformation table from the phonetic file

Parameters: phonetic the phonetic file as specified in aspell. The file is supplied as a reader.

Throws: java.io.IOException indicates a problem while reading the phonetic information

Method Detail

getCodeReplaceList

public char[] getCodeReplaceList()
Takes out all single character replacements and put them in a char array. This array can later be used for adding or changing letters in getSuggestion().

Returns: char[] An array of chars with replacements characters

getReplaceList

public char[] getReplaceList()
Builds up an char array with the chars in the alphabet of the language as it was read from the alphabet tag in the phonetic file.

Returns: char[] An array of chars representing the alphabet or null if no alphabet was available.

transform

public String transform(String word)
Builds the phonetic code of the word.

Parameters: word the word to transform

Returns: the phonetic transformation of the word