Class PatternRule

    • Field Detail

      • shortMessage

        private final java.lang.String shortMessage
      • elementNo

        private final java.util.List<java.lang.Integer> elementNo
      • simpleRuleTokens

        private final java.util.Set<java.lang.String> simpleRuleTokens
      • inflectedRuleTokens

        private final java.util.Set<java.lang.String> inflectedRuleTokens
      • useList

        private final boolean useList
      • interpretPosTagsPreDisambiguation

        private boolean interpretPosTagsPreDisambiguation
      • isMemberOfDisjunctiveSet

        private boolean isMemberOfDisjunctiveSet
    • Constructor Detail

      • PatternRule

        public PatternRule​(java.lang.String id,
                           Language language,
                           java.util.List<PatternToken> patternTokens,
                           java.lang.String description,
                           java.lang.String message,
                           java.lang.String shortMessage,
                           java.lang.String suggestionsOutMsg)
        Parameters:
        id - Id of the Rule. Used in configuration. Should not contain special characters and should be stable over time, unless the rule changes completely.
        language - Language of the Rule
        description - Description to be shown (name)
        message - Message to be displayed to the user
        shortMessage - Message to be displayed to the user in the context menu in OpenOffice.org/LibreOffice
      • PatternRule

        public PatternRule​(java.lang.String id,
                           Language language,
                           java.util.List<PatternToken> patternTokens,
                           java.lang.String description,
                           java.lang.String message,
                           java.lang.String shortMessage)
      • PatternRule

        public PatternRule​(java.lang.String id,
                           Language language,
                           java.util.List<PatternToken> patternTokens,
                           java.lang.String description,
                           java.lang.String message,
                           java.lang.String shortMessage,
                           java.lang.String suggestionsOutMsg,
                           boolean isMember)
      • PatternRule

        @Experimental
        public PatternRule​(java.lang.String id,
                           Language language,
                           java.util.List<PatternToken> patternTokens,
                           java.lang.String description,
                           java.lang.String message,
                           java.lang.String shortMessage,
                           java.lang.String suggestionsOutMsg,
                           boolean isMember,
                           boolean interpretPosTagsPreDisambiguation)
        Since:
        4.5
    • Method Detail

      • estimateContextForSureMatch

        @Experimental
        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
      • isInterpretPosTagsPreDisambiguation

        @Experimental
        boolean isInterpretPosTagsPreDisambiguation()
        Whether any POS tags from this rule should refer to the POS tags of the analyzed sentence *before* disambiguation.
        Since:
        4.5
      • isWithComplexPhrase

        final boolean isWithComplexPhrase()
        Used for testing rules: only one of the set can match.
        Returns:
        Whether the rule can non-match (as a member of disjunctive set of rules generated by phraseref in includephrases element).
      • notComplexPhrase

        final void notComplexPhrase()
        Reset complex status - used for testing.
      • toPatternString

        public final java.lang.String toPatternString()
        Return the pattern as a string, using toString() on the pattern elements.
        Since:
        0.9.2
      • toXML

        public final java.lang.String toXML()
        Return the rule's definition as an XML string, loaded from the XML rule files.
        Since:
        0.9.3
      • match

        public final 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).
        Overrides:
        match in class AbstractPatternRule
        Parameters:
        sentence - a pre-analyzed sentence
        Returns:
        an array of RuleMatch objects
        Throws:
        java.io.IOException
      • canBeIgnoredFor

        public boolean canBeIgnoredFor​(AnalyzedSentence sentence)
        A fast check whether this rule can be ignored for the given sentence because it can never match. Used internally for performance optimization.
        Since:
        2.4
      • getSet

        private java.util.Set<java.lang.String> getSet​(boolean isInflected)
      • getElementNo

        java.util.List<java.lang.Integer> getElementNo()
      • getShortMessage

        java.lang.String getShortMessage()
        Overrides:
        getShortMessage in class AbstractPatternRule
        Returns:
        String of short message as specified in <short>...</short>