Class HunspellRule

    • Field Detail

      • needsInit

        protected boolean needsInit
      • activeChecks

        private static final java.util.concurrent.ConcurrentLinkedQueue<java.lang.String> activeChecks
      • monitorRules

        private final boolean monitorRules
      • runningExperiment

        private final boolean runningExperiment
      • WHITESPACE_ARRAY

        private static final java.lang.String[] WHITESPACE_ARRAY
      • nonWordPattern

        protected java.util.regex.Pattern nonWordPattern
    • Constructor Detail

      • HunspellRule

        public HunspellRule​(java.util.ResourceBundle messages,
                            Language language,
                            UserConfig userConfig)
      • HunspellRule

        public HunspellRule​(java.util.ResourceBundle messages,
                            Language language,
                            UserConfig userConfig,
                            java.util.List<Language> altLanguages)
        Since:
        4.3
    • Method Detail

      • getActiveChecks

        public static java.util.Queue<java.lang.String> getActiveChecks()
      • getId

        public java.lang.String getId()
        Description copied from class: Rule
        A string used to identify the rule in e.g. configuration files. This string is supposed to be unique and to stay the same in all upcoming versions of LanguageTool. It's supposed to contain only the characters A-Z and the underscore.
        Specified by:
        getId in class SpellingCheckRule
      • getDescription

        public java.lang.String getDescription()
        Description copied from class: Rule
        A short description of the error this rule can detect, usually in the language of the text that is checked.
        Specified by:
        getDescription in class SpellingCheckRule
      • isQuotedCompound

        protected boolean isQuotedCompound​(AnalyzedSentence analyzedSentence,
                                           int idx,
                                           java.lang.String token)
        Is the given token part of a hyphenated compound preceded by a quoted token (e.g., „Spiegel“-Magazin) and should be treated as an ordinary hyphenated compound (e.g., „Spiegel-Magazin“)
      • match

        public RuleMatch[] match​(AnalyzedSentence sentence)
                          throws java.io.IOException
        Description copied from class: Rule
        Check whether the given sentence matches this error rule, i.e. whether it contains the error detected by this rule. Note that the order in which this method is called is not always guaranteed, i.e. the sentence order in the text may be different than the order in which you get the sentences (this may be the case when LanguageTool is used as a LibreOffice/OpenOffice add-on, for example).
        Specified by:
        match in class SpellingCheckRule
        Parameters:
        sentence - a pre-analyzed sentence
        Returns:
        an array of RuleMatch objects
        Throws:
        java.io.IOException
      • cutOffDot

        private java.lang.String cutOffDot​(java.lang.String s)
      • getSuggestions

        public java.util.List<java.lang.String> getSuggestions​(java.lang.String word)
                                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • sortSuggestionByQuality

        protected java.util.List<java.lang.String> sortSuggestionByQuality​(java.lang.String misspelling,
                                                                           java.util.List<java.lang.String> suggestions)
      • tokenizeText

        protected java.lang.String[] tokenizeText​(java.lang.String sentence)
      • getSentenceTextWithoutUrlsAndImmunizedTokens

        protected java.lang.String getSentenceTextWithoutUrlsAndImmunizedTokens​(AnalyzedSentence sentence)
      • init

        protected void init()
                     throws java.io.IOException
        Overrides:
        init in class SpellingCheckRule
        Throws:
        java.io.IOException
      • getDictFilenameInResources

        @NotNull
        protected @NotNull java.lang.String getDictFilenameInResources​(java.lang.String langCountry)
      • addIgnoreWords

        private void addIgnoreWords()
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • getDictionaryPath

        private java.lang.String getDictionaryPath​(java.lang.String dicName,
                                                   java.lang.String originalPath)
                                            throws java.io.IOException
        Throws:
        java.io.IOException
      • fileCopy

        private void fileCopy​(java.io.InputStream in,
                              java.io.File targetFile)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • isAcceptedWordFromLanguage

        protected boolean isAcceptedWordFromLanguage​(Language language,
                                                     java.lang.String word)
        Used in combination with acceptedInAlternativeLanguage to surpress spelling errors for words from a foreign language
        Parameters:
        language -
        word -
        Returns:
        true if the word from language can be considered as correctly spelled
        Since:
        4.6