Class AbstractCompoundRule


  • public abstract class AbstractCompoundRule
    extends Rule
    Checks that compounds (if in the list) are not written as separate words.
    • Field Detail

      • withHyphenMessage

        private final java.lang.String withHyphenMessage
      • withoutHyphenMessage

        private final java.lang.String withoutHyphenMessage
      • withOrWithoutHyphenMessage

        private final java.lang.String withOrWithoutHyphenMessage
      • shortDesc

        private final java.lang.String shortDesc
      • sentenceStartsWithUpperCase

        protected boolean sentenceStartsWithUpperCase
    • Constructor Detail

      • AbstractCompoundRule

        public AbstractCompoundRule​(java.util.ResourceBundle messages,
                                    java.lang.String withHyphenMessage,
                                    java.lang.String withoutHyphenMessage,
                                    java.lang.String withOrWithoutHyphenMessage)
                             throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        3.0
      • AbstractCompoundRule

        public AbstractCompoundRule​(java.util.ResourceBundle messages,
                                    java.lang.String withHyphenMessage,
                                    java.lang.String withoutHyphenMessage,
                                    java.lang.String withOrWithoutHyphenMessage,
                                    java.lang.String shortMessage)
                             throws java.io.IOException
        Throws:
        java.io.IOException
        Since:
        3.0
    • Method Detail

      • getId

        public abstract 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 Rule
      • getDescription

        public abstract 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 Rule
      • estimateContextForSureMatch

        public int estimateContextForSureMatch()
        Description copied from class: Rule
        A number that estimates how many words there must be after a match before we can be (relatively) sure the match is valid. This is useful for check-as-you-type, where a match might occur and the word that gets typed next makes the match disappear (something one would obviously like to avoid). Note: this may over-estimate the real context size. Returns -1 when the sentence needs to end to be sure there's a match.
        Overrides:
        estimateContextForSureMatch in class Rule
      • getCompoundRuleData

        protected abstract CompoundRuleData getCompoundRuleData()
        Since:
        3.0
      • isHyphenIgnored

        public boolean isHyphenIgnored()
        Flag to indicate if the hyphen is ignored in the text entered by the user. Set this to false if you want the rule to offer suggestions for words like [ro] "câte-și-trei" (with hyphen), not only for "câte și trei" (with spaces) This is only available for languages with hyphen as a word separator (ie: not available for English, available for Romanian). See Language.getWordTokenizer()
      • match

        public RuleMatch[] match​(AnalyzedSentence sentence)
        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 Rule
        Parameters:
        sentence - a pre-analyzed sentence
        Returns:
        an array of RuleMatch objects
      • getStringToTokenMap

        private java.util.Map<java.lang.String,​AnalyzedTokenReadings> getStringToTokenMap​(java.util.Queue<AnalyzedTokenReadings> prevTokens,
                                                                                                java.util.List<java.lang.String> stringsToCheck,
                                                                                                java.util.List<java.lang.String> origStringsToCheck)
      • normalize

        private java.lang.String normalize​(java.lang.String inStr)
      • isNotAllUppercase

        private boolean isNotAllUppercase​(java.lang.String str)
      • mergeCompound

        private java.lang.String mergeCompound​(java.lang.String str,
                                               boolean uncapitalizeMidWords)