Class SpellDictionaryDichoDisk

  • All Implemented Interfaces:
    SpellDictionary
    Direct Known Subclasses:
    SpellDictionaryCachedDichoDisk

    public class SpellDictionaryDichoDisk
    extends SpellDictionaryASpell
    Another implementation of SpellDictionary that doesn't cache any words in memory. Avoids the huge footprint of SpellDictionaryHashMap at the cost of relatively minor latency. A future version of this class that implements some caching strategies might be a good idea in the future, if there's any demand for it. This implementation requires a special dictionary file, with "code*word" lines sorted by code. It's using a dichotomy algorithm to search for words in the dictionary
    Version:
    0.1
    Author:
    Damien Guillaume
    • Constructor Summary

      Constructors 
      Constructor Description
      SpellDictionaryDichoDisk​(java.io.File wordList)
      Dictionary convenience Constructor.
      SpellDictionaryDichoDisk​(java.io.File wordList, java.io.File phonetic)
      Dictionary constructor that uses an aspell phonetic file to build the transformation table.
      SpellDictionaryDichoDisk​(java.io.File wordList, java.io.File phonetic, java.lang.String encoding)
      Dictionary constructor that uses an aspell phonetic file to build the transformation table.
      SpellDictionaryDichoDisk​(java.io.File wordList, java.lang.String encoding)
      Dictionary convenience Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addWord​(java.lang.String word)
      Add a word permanently to the dictionary (and the dictionary file).
      java.util.List getWords​(java.lang.String code)
      Returns a list of strings (words) for the code.
      • Methods inherited from class java.lang.Object

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

      • SpellDictionaryDichoDisk

        public SpellDictionaryDichoDisk​(java.io.File wordList)
                                 throws java.io.FileNotFoundException,
                                        java.io.IOException
        Dictionary convenience Constructor.
        Parameters:
        wordList - The file containing the words list for the dictionary
        Throws:
        java.io.FileNotFoundException - indicates problems locating the words list file on the system
        java.io.IOException - indicates problems reading the words list file
      • SpellDictionaryDichoDisk

        public SpellDictionaryDichoDisk​(java.io.File wordList,
                                        java.lang.String encoding)
                                 throws java.io.FileNotFoundException,
                                        java.io.IOException
        Dictionary convenience Constructor.
        Parameters:
        wordList - The file containing the words list for the dictionary
        encoding - Uses the character set encoding specified
        Throws:
        java.io.FileNotFoundException - indicates problems locating the words list file on the system
        java.io.IOException - indicates problems reading the words list file
      • SpellDictionaryDichoDisk

        public SpellDictionaryDichoDisk​(java.io.File wordList,
                                        java.io.File phonetic)
                                 throws java.io.FileNotFoundException,
                                        java.io.IOException
        Dictionary constructor that uses an aspell phonetic file to build the transformation table.
        Parameters:
        wordList - The file containing the words list for the dictionary
        phonetic - The file to use for phonetic transformation of the wordlist.
        Throws:
        java.io.FileNotFoundException - indicates problems locating the file on the system
        java.io.IOException - indicates problems reading the words list file
      • SpellDictionaryDichoDisk

        public SpellDictionaryDichoDisk​(java.io.File wordList,
                                        java.io.File phonetic,
                                        java.lang.String encoding)
                                 throws java.io.FileNotFoundException,
                                        java.io.IOException
        Dictionary constructor that uses an aspell phonetic file to build the transformation table.
        Parameters:
        wordList - The file containing the words list for the dictionary
        phonetic - The file to use for phonetic transformation of the wordlist.
        encoding - Uses the character set encoding specified
        Throws:
        java.io.FileNotFoundException - indicates problems locating the file on the system
        java.io.IOException - indicates problems reading the words list file
    • Method Detail

      • addWord

        public void addWord​(java.lang.String word)
        Add a word permanently to the dictionary (and the dictionary file). not implemented !
        Parameters:
        word - The word to add.
      • getWords

        public java.util.List getWords​(java.lang.String code)
        Returns a list of strings (words) for the code.
        Specified by:
        getWords in class SpellDictionaryASpell
        Parameters:
        code - The phonetic code common to the list of words
        Returns:
        A list of words having the same phonetic code