Class FileDictionary

  • All Implemented Interfaces:
    Dictionary

    public class FileDictionary
    extends Object
    implements Dictionary
    Dictionary represented by a text file.

    Format allowed: 1 entry per line:
    An entry can be:

    • suggestion
    • suggestion fieldDelimiter weight
    • suggestion fieldDelimiter weight fieldDelimiter payload
    where the default fieldDelimiter is "\t"

    NOTE:

    • In order to have payload enabled, the first entry has to have a payload
    • If the weight for an entry is not specified then a value of 1 is used
    • A payload cannot be specified without having the weight specified for an entry
    • If the payload for an entry is not specified (assuming payload is enabled) then an empty payload is returned
    • An entry cannot have more than two fieldDelimiter

    Example:
    word1 word2 TAB 100 TAB payload1
    word3 TAB 101
    word4 word3 TAB 102

    • Field Detail

      • DEFAULT_FIELD_DELIMITER

        public static final String DEFAULT_FIELD_DELIMITER
        Tab-delimited fields are most common thus the default, but one can override this via the constructor
        See Also:
        Constant Field Values
    • Constructor Detail

      • FileDictionary

        public FileDictionary​(InputStream dictFile)
        Creates a dictionary based on an inputstream. Using DEFAULT_FIELD_DELIMITER as the field separator in a line.

        NOTE: content is treated as UTF-8

      • FileDictionary

        public FileDictionary​(Reader reader)
        Creates a dictionary based on a reader. Using DEFAULT_FIELD_DELIMITER as the field separator in a line.
      • FileDictionary

        public FileDictionary​(Reader reader,
                              String fieldDelimiter)
        Creates a dictionary based on a reader. Using fieldDelimiter to separate out the fields in a line.
      • FileDictionary

        public FileDictionary​(InputStream dictFile,
                              String fieldDelimiter)
        Creates a dictionary based on an inputstream. Using fieldDelimiter to separate out the fields in a line.

        NOTE: content is treated as UTF-8