Class AbstractPatternRule

  • Direct Known Subclasses:
    DisambiguationPatternRule, PatternRule, RegexPatternRule

    public abstract class AbstractPatternRule
    extends Rule
    An Abstract Pattern Rule that describes a pattern of words or part-of-speech tags used for PatternRule and DisambiguationPatternRule. Introduced to minimize code duplication between those classes.
    Author:
    Marcin MiƂkowski
    • Field Detail

      • language

        protected final Language language
      • regex

        protected final Pattern regex
      • regexMark

        protected final int regexMark
      • testUnification

        protected final boolean testUnification
      • sentStart

        protected final boolean sentStart
      • suggestionMatches

        protected final List<Match> suggestionMatches
      • suggestionMatchesOutMsg

        protected final List<Match> suggestionMatchesOutMsg
      • subId

        protected String subId
      • startPositionCorrection

        protected int startPositionCorrection
      • endPositionCorrection

        protected int endPositionCorrection
      • suggestionsOutMsg

        protected String suggestionsOutMsg
      • filterArgs

        protected String filterArgs
      • message

        protected String message
      • sourceFile

        protected String sourceFile
    • Method Detail

      • supportsLanguage

        public boolean supportsLanguage​(Language language)
        Description copied from class: Rule
        Whether this rule can be used for text in the given language. Since LanguageTool 2.6, this also works PatternRules (before, it used to always return false for those).
        Overrides:
        supportsLanguage in class Rule
      • getDescription

        public 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
      • getSourceFile

        @Nullable
        public @Nullable String getSourceFile()
      • getId

        public 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
        See Also:
        getFullId()
      • match

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

        public final Language getLanguage()
        Since:
        2.3
      • setStartPositionCorrection

        public final void setStartPositionCorrection​(int startPositionCorrection)
      • getStartPositionCorrection

        public final int getStartPositionCorrection()
      • setEndPositionCorrection

        public final void setEndPositionCorrection​(int endPositionCorrection)
      • getEndPositionCorrection

        public final int getEndPositionCorrection()
      • getFullId

        public String getFullId()
        The rule id and its sub id, if any. The format is like RULE_ID[SUB_ID], e.g. WANT_TO[2].
        Since:
        3.2
        See Also:
        getId()
      • getPatternRuleId

        public PatternRuleId getPatternRuleId()
        The rule id and its sub id, if any.
        Since:
        3.2
      • getSubId

        public final String getSubId()
      • setSubId

        public final void setSubId​(String subId)
      • isGroupsOrUnification

        public boolean isGroupsOrUnification()
        Since:
        2.3
      • isGetUnified

        public boolean isGetUnified()
        Since:
        2.3
      • isSentStart

        public boolean isSentStart()
        Since:
        2.3
      • isTestUnification

        public boolean isTestUnification()
        Since:
        2.3
      • addSuggestionMatch

        public final void addSuggestionMatch​(Match m)
        Add formatted suggestion elements.
      • addSuggestionMatchOutMsg

        public final void addSuggestionMatchOutMsg​(Match m)
        Add formatted suggestion elements outside message.
      • getSuggestionsOutMsg

        @NotNull
        public final @NotNull String getSuggestionsOutMsg()
      • getMessage

        public final String getMessage()
        Get the message shown to the user if this rule matches.
      • setMessage

        public final void setMessage​(String message)
        Set the message shown to the user if this rule matches.
      • setFilter

        public void setFilter​(RuleFilter filter)
        Since:
        2.7 (public since 3.2)
      • getFilter

        @Nullable
        public @Nullable RuleFilter getFilter()
        Since:
        2.7 (public since 3.2)
      • setFilterArguments

        public void setFilterArguments​(String filterArgs)
        Since:
        2.7 (public since 3.2)
      • getFilterArguments

        @Nullable
        public @Nullable String getFilterArguments()
        Since:
        2.7 (public since 3.2)
      • setAntiPatterns

        public void setAntiPatterns​(List<DisambiguationPatternRule> antiPatterns)
        Set up the list of antipatterns used to immunize tokens, i.e., make them non-matchable by the current rule. Useful for multi-word complex exceptions, such as multi-word idiomatic expressions.
        Parameters:
        antiPatterns - A list of antiPatterns, implemented as DisambiguationPatternRule.
        Since:
        2.5