Class AbstractSimpleReplaceRule

java.lang.Object
org.languagetool.rules.Rule
org.languagetool.rules.AbstractSimpleReplaceRule
Direct Known Subclasses:
AbstractSimpleReplaceLemmasRule, CastWordsRule, ContractionSpellingRule, DativePluralStandardReplaceRule, EnglishContractionSpellingRule, EnglishHomophoneRule, IrishFGBEqReplaceRule, IrishReplaceRule, LogainmRule, PeopleRule, PortugueseAgreementReplaceRule, PortugueseOrthographyReplaceRule, PortugueseReplaceRule, PrestandardReplaceRule, ReplaceOperationNamesRule, SimpleReplaceAdverbsMent, SimpleReplaceBalearicRule, SimpleReplaceDiacriticsIEC, SimpleReplaceRule, SimpleReplaceRule, SimpleReplaceRule, SimpleReplaceRule, SimpleReplaceRule, SimpleReplaceRule, SimpleReplaceRule, SimpleReplaceSoftRule, SimpleReplaceSpelling1992Rule, SimpleReplaceVerbsRule, SimpleReplaceVerbsRule, SpacesRule

public abstract class AbstractSimpleReplaceRule extends Rule
A rule that matches words which should not be used and suggests correct ones instead. Loads the relevant words from rules/XX/replace.txt, where XX is a code of the language.
  • Field Details

    • ignoreTaggedWords

      protected boolean ignoreTaggedWords
    • subRuleSpecificIds

      protected boolean subRuleSpecificIds
    • logger

      private static final org.slf4j.Logger logger
    • checkLemmas

      private boolean checkLemmas
    • language

      private final Language language
  • Constructor Details

  • Method Details

    • getWrongWords

      public abstract Map<String,List<String>> getWrongWords()
    • loadFromPath

      protected static Map<String,List<String>> loadFromPath(String path)
    • loadFromPath

      protected static Map<String,List<String>> loadFromPath(String... paths)
      Since:
      5.0
    • isCaseSensitive

      public boolean isCaseSensitive()
      Indicates if the rule is case-sensitive. Default value is true.
      Returns:
      true if the rule is case-sensitive, false otherwise.
    • getLocale

      public Locale getLocale()
      Returns:
      the locale used for case conversion when isCaseSensitive() is set to false.
    • setIgnoreTaggedWords

      public void setIgnoreTaggedWords()
      Skip words that are known in the POS tagging dictionary, assuming they cannot be incorrect.
      Since:
      2.3
    • 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
    • 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
    • getMessage

      public String getMessage(String tokenStr, List<String> replacements)
    • getShort

      public String getShort()
    • cleanup

      private String cleanup(String word)
    • 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 from 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). In other words, implementations must be stateless, so that a previous call to this method has no influence on later calls.
      Specified by:
      match in class Rule
      Parameters:
      sentence - a pre-analyzed sentence
      Returns:
      an array of RuleMatch objects
      Throws:
      IOException
    • findMatches

      protected List<RuleMatch> findMatches(AnalyzedTokenReadings tokenReadings, AnalyzedSentence sentence) throws IOException
      Throws:
      IOException
    • isTagged

      protected boolean isTagged(AnalyzedTokenReadings tokenReadings)
      This method allows to override which tags will mark token as tagged
      Returns:
      returns true if token has valid tag
    • createRuleMatch

      protected RuleMatch createRuleMatch(AnalyzedTokenReadings tokenReadings, List<String> replacements, AnalyzedSentence sentence, String originalTokenStr)
    • isCheckLemmas

      public boolean isCheckLemmas()
      Since:
      2.5
    • setCheckLemmas

      public void setCheckLemmas(boolean checkLemmas)
      Used to disable matching lemmas.
      Since:
      2.5
    • getSynthesizer

      @Nullable public Synthesizer getSynthesizer()
      Synthesizer to generate inflected suggestions
      Since:
      5.1
    • isTokenException

      protected boolean isTokenException(AnalyzedTokenReadings atr)
    • useSubRuleSpecificIds

      public void useSubRuleSpecificIds()
      If this is set, each replacement pair will have its own rule ID, making rule deactivations more specific.
      Since:
      5.5