Class Hyphenator


  • public final class Hyphenator
    extends java.lang.Object
    This class is the main entry point to the hyphenation package. You can use only the static methods or create an instance.

    This work was authored by Carlos Villegas (cav@uniscope.co.jp).

    • Constructor Summary

      Constructors 
      Constructor Description
      Hyphenator​(java.lang.String lang, java.lang.String country, int leftMin, int rightMin)
      Creates a new hyphenator.
      Hyphenator​(java.lang.String lang, java.lang.String country, int leftMin, int rightMin, java.util.Map<java.lang.String,​java.lang.String> hyphPathNames)
      Creates a new hyphenator.
    • Field Detail

      • staticLock

        private static final java.lang.Object staticLock
      • log

        private static org.slf4j.Logger log
        Logging instance.
      • additionalHyphenationFileDirectories

        private static java.util.List<java.lang.String> additionalHyphenationFileDirectories
      • lang

        protected java.lang.String lang
      • country

        protected java.lang.String country
      • leftMin

        int leftMin
      • rightMin

        int rightMin
      • hyphPathNames

        java.util.Map<java.lang.String,​java.lang.String> hyphPathNames
    • Constructor Detail

      • Hyphenator

        public Hyphenator​(java.lang.String lang,
                          java.lang.String country,
                          int leftMin,
                          int rightMin)
        Creates a new hyphenator.
        Parameters:
        lang - the language
        country - the optional country code (may be null or "none")
        leftMin - the minimum number of characters before the hyphenation point
        rightMin - the minimum number of characters after the hyphenation point
      • Hyphenator

        public Hyphenator​(java.lang.String lang,
                          java.lang.String country,
                          int leftMin,
                          int rightMin,
                          java.util.Map<java.lang.String,​java.lang.String> hyphPathNames)
        Creates a new hyphenator.
        Parameters:
        lang - the language
        country - the optional country code (may be null or "none")
        hyphPathNames - the map with user-configured hyphenation pattern file names
        leftMin - the minimum number of characters before the hyphenation point
        rightMin - the minimum number of characters after the hyphenation point
    • Method Detail

      • registerAdditionalHyphenationFileDirectory

        public static void registerAdditionalHyphenationFileDirectory​(java.lang.String directory)
        Registers additional file directories.
        Parameters:
        directory - directory to register
      • getHyphenationTreeCache

        public static HyphenationTreeCache getHyphenationTreeCache()
        Returns the default hyphenation tree cache.
        Returns:
        the default (static) hyphenation tree cache
      • clearHyphenationTreeCache

        public static void clearHyphenationTreeCache()
        Clears the default hyphenation tree cache. This method can be used if the underlying data files are changed at runtime.
      • getHyphenationTree

        public static HyphenationTree getHyphenationTree​(java.lang.String lang,
                                                         java.lang.String country,
                                                         java.util.Map<java.lang.String,​java.lang.String> hyphPathNames)
        Returns a hyphenation tree for a given language and country, with fallback from (lang,country) to (lang). The hyphenation trees are cached.
        Parameters:
        lang - the language
        country - the country (may be null or "none")
        hyphPathNames - the map with user-configured hyphenation pattern file names
        Returns:
        the hyphenation tree
      • getHyphenationTree2

        public static HyphenationTree getHyphenationTree2​(java.lang.String lang,
                                                          java.lang.String country,
                                                          java.util.Map<java.lang.String,​java.lang.String> hyphPathNames)
        Returns a hyphenation tree for a given language and country. The hyphenation trees are cached.
        Parameters:
        lang - the language
        country - the country (may be null or "none")
        hyphPathNames - the map with user-configured hyphenation pattern file names
        Returns:
        the hyphenation tree
      • getHyphenationTree

        public static HyphenationTree getHyphenationTree​(java.lang.String searchDirectory,
                                                         java.lang.String key)
        Load tree from xml file using configuration settings.
        Parameters:
        searchDirectory - the directory to search the file into
        key - language key for the requested hyphenation file
        Returns:
        the requested HyphenationTree or null if it is not available
      • getHyphenationTree

        public static HyphenationTree getHyphenationTree​(java.io.InputStream in,
                                                         java.lang.String name)
        Load tree from the stream.
        Parameters:
        in - the input stream to load the tree from
        name - unique key representing country-language combination
        Returns:
        the requested HyphenationTree or null if it is not available
      • hyphenate

        public static Hyphenation hyphenate​(java.lang.String lang,
                                            java.lang.String country,
                                            java.util.Map<java.lang.String,​java.lang.String> hyphPathNames,
                                            java.lang.String word,
                                            int leftMin,
                                            int rightMin)
        Hyphenates a word.
        Parameters:
        lang - the language
        country - the optional country code (may be null or "none")
        hyphPathNames - the map with user-configured hyphenation pattern file names
        word - the word to hyphenate
        leftMin - the minimum number of characters before the hyphenation point
        rightMin - the minimum number of characters after the hyphenation point
        Returns:
        the hyphenation result
      • hyphenate

        public static Hyphenation hyphenate​(java.lang.String lang,
                                            java.lang.String country,
                                            java.lang.String word,
                                            int leftMin,
                                            int rightMin)
        Hyphenates a word.
        Parameters:
        lang - the language
        country - the optional country code (may be null or "none")
        word - the word to hyphenate
        leftMin - the minimum number of characters before the hyphenation point
        rightMin - the minimum number of characters after the hyphenation point
        Returns:
        the hyphenation result
      • hyphenate

        public Hyphenation hyphenate​(java.lang.String word)
        Hyphenates a word.
        Parameters:
        word - the word to hyphenate
        Returns:
        the hyphenation result
      • wordContainsSoftHyphens

        private static boolean wordContainsSoftHyphens​(java.lang.String word)
      • hyphenateBasedOnSoftHyphens

        private static Hyphenation hyphenateBasedOnSoftHyphens​(java.lang.String word,
                                                               int leftMin,
                                                               int rightMin)