Class GenericTransformator

  • All Implemented Interfaces:
    Transformator

    public class GenericTransformator
    extends java.lang.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

      Fields 
      Modifier and Type Field Description
      static char ALPHABET_END
      The alphabet end marker.
      static char ALPHABET_START
      The alphabet start marker.
      static java.lang.String DIGITCODE
      During phonetic transformation of a word each numeric character is replaced by this DIGITCODE.
      static char ENDMULTI
      End a group of characters which can be appended to the match expression of the phonetic file.
      static java.lang.String[] IGNORED_KEYWORDS
      Phonetic file lines starting with the keywords are skipped.
      static java.lang.String KEYWORD_ALPHBET
      Phonetic file keyword indicating that a different alphabet is used for this language.
      static java.lang.String REPLACEVOID
      Phonetic file character code indicating that the replace expression is empty.
      static char STARTMULTI
      Start a group of characters which can be appended to the match expression of the phonetic file.
    • Constructor Summary

      Constructors 
      Constructor Description
      GenericTransformator​(java.io.File phonetic)
      Construct a transformation table from the phonetic file
      GenericTransformator​(java.io.File phonetic, java.lang.String encoding)
      Construct a transformation table from the phonetic file
      GenericTransformator​(java.io.Reader phonetic)
      Construct a transformation table from the phonetic file
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      java.lang.String transform​(java.lang.String word)
      Builds the phonetic code of the word.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • KEYWORD_ALPHBET

        public static final java.lang.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.
        See Also:
        Constant Field Values
      • IGNORED_KEYWORDS

        public static final java.lang.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.
      • STARTMULTI

        public static final char STARTMULTI
        Start a group of characters which can be appended to the match expression of the phonetic file.
        See Also:
        Constant Field Values
      • ENDMULTI

        public static final char ENDMULTI
        End a group of characters which can be appended to the match expression of the phonetic file.
        See Also:
        Constant Field Values
      • DIGITCODE

        public static final java.lang.String DIGITCODE
        During phonetic transformation of a word each numeric character is replaced by this DIGITCODE.
        See Also:
        Constant Field Values
      • REPLACEVOID

        public static final java.lang.String REPLACEVOID
        Phonetic file character code indicating that the replace expression is empty.
        See Also:
        Constant Field Values
    • Constructor Detail

      • GenericTransformator

        public GenericTransformator​(java.io.File phonetic)
                             throws java.io.IOException
        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​(java.io.File phonetic,
                                    java.lang.String encoding)
                             throws java.io.IOException
        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​(java.io.Reader phonetic)
                             throws java.io.IOException
        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.
        Specified by:
        getReplaceList in interface Transformator
        Returns:
        char[] An array of chars representing the alphabet or null if no alphabet was available.
      • transform

        public java.lang.String transform​(java.lang.String word)
        Builds the phonetic code of the word.
        Specified by:
        transform in interface Transformator
        Parameters:
        word - the word to transform
        Returns:
        the phonetic transformation of the word