Class AbstractSimpleReplaceRule2

java.lang.Object
org.languagetool.rules.Rule
org.languagetool.rules.AbstractSimpleReplaceRule2

public abstract class AbstractSimpleReplaceRule2 extends Rule
A rule that matches words which should not be used and suggests correct ones instead.

Unlike AbstractSimpleReplaceRule, it supports phrases (Ex: "aqua forte" -> "acvaforte"). Note: Merge this into AbstractSimpleReplaceRule

  • Field Details

  • Constructor Details

  • Method Details

    • getFileName

      public abstract String getFileName()
    • getId

      public abstract 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 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
    • getShort

      public abstract String getShort()
    • getSuggestion

      public abstract String getSuggestion()
      Returns:
      A string where $match will be replaced with the matching word and $suggestions will be replaced with the alternatives. This is the string shown to the user.
    • getSuggestionsSeparator

      public abstract String getSuggestionsSeparator()
      Returns:
      the word used to separate multiple suggestions; used only before last suggestion, the rest are comma-separated.
    • getLocale

      public abstract Locale getLocale()
      locale used on case-conversion
    • isCaseSensitive

      public boolean isCaseSensitive()
      use case-sensitive matching.
    • getWrongWords

      public List<Map<String,String>> getWrongWords()
      Returns:
      the list of wrong words for which this rule can suggest correction. The list cannot be modified.
    • loadWords

      private static List<Map<String,String>> loadWords(String filename, Language lang, boolean caseSensitive) throws IOException
      Load the list of words. Same as AbstractSimpleReplaceRule.loadFromPath(java.lang.String) but allows multiple words.
      Parameters:
      filename - the file from classpath to load
      Returns:
      the list of maps containing the error-corrections pairs. The n-th map contains key strings of (n+1) words.
      Throws:
      IOException
    • addToQueue

      private void addToQueue(AnalyzedTokenReadings token, Queue<AnalyzedTokenReadings> prevTokens)
    • 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
    • isException

      protected boolean isException(String matchedText)