Class RuleMatch

java.lang.Object
org.languagetool.rules.RuleMatch
All Implemented Interfaces:
Comparable<RuleMatch>

public class RuleMatch extends Object implements Comparable<RuleMatch>
Information about an error rule that matches text and the position of the match. See ContextTools for displaying errors in their original text context.
  • Field Details

  • Constructor Details

    • RuleMatch

      public RuleMatch(Rule rule, int fromPos, int toPos, String message)
      Deprecated.
      use a constructor that also takes an AnalyzedSentence parameter (deprecated since 4.0)
      Creates a RuleMatch object, taking the rule that triggered this match, position of the match and an explanation message. This message is scanned for <suggestion>...</suggestion> to get suggested fixes for the problem detected by this rule.
    • RuleMatch

      public RuleMatch(Rule rule, AnalyzedSentence sentence, int fromPos, int toPos, String message)
      Creates a RuleMatch object, taking the rule that triggered this match, position of the match and an explanation message. This message is scanned for <suggestion>...</suggestion> to get suggested fixes for the problem detected by this rule.
      Since:
      4.0
    • RuleMatch

      public RuleMatch(Rule rule, AnalyzedSentence sentence, int fromPos, int toPos, String message, String shortMessage)
      Creates a RuleMatch object, taking the rule that triggered this match, position of the match and an explanation message. This message is scanned for <suggestion>...</suggestion> to get suggested fixes for the problem detected by this rule.
      Parameters:
      shortMessage - used for example in OpenOffice/LibreOffice's context menu
      Since:
      4.0
    • RuleMatch

      public RuleMatch(Rule rule, AnalyzedSentence sentence, int fromPos, int toPos, int patternStartPos, int patternEndPos, String message, String shortMessage)
      Creates a RuleMatch object, taking the rule that triggered this match, position of the match and an explanation message. This message is scanned for <suggestion>...</suggestion> to get suggested fixes for the problem detected by this rule.
      Parameters:
      shortMessage - used for example in OpenOffice/LibreOffice's context menu
      Since:
      4.9
    • RuleMatch

      public RuleMatch(Rule rule, AnalyzedSentence sentence, int fromPos, int toPos, String message, String shortMessage, List<String> suggestions)
      Create a rule match with any suggestions in the message overridden by the given suggestions
      Since:
      4.7
    • RuleMatch

      public RuleMatch(Rule rule, int fromPos, int toPos, String message, String shortMessage, boolean startWithUppercase, String suggestionsOutMsg)
      Deprecated.
      use a constructor that also takes an AnalyzedSentence parameter (deprecated since 4.0)
    • RuleMatch

      public RuleMatch(Rule rule, AnalyzedSentence sentence, int fromPos, int toPos, int patternFromPos, int patternToPos, String message, String shortMessage, boolean startWithUppercase, String suggestionsOutMsg)
    • RuleMatch

      public RuleMatch(Rule rule, AnalyzedSentence sentence, int fromPos, int toPos, int patternFromPos, int patternToPos, String message, String shortMessage, boolean startWithUppercase, boolean isAllUppercase, String suggestionsOutMsg, boolean setOriginalErrorStr)
      Creates a RuleMatch object, taking the rule that triggered this match, position of the match and an explanation message. This message is scanned for <suggestion>...</suggestion> to get suggested fixes for the problem detected by this rule.
      Parameters:
      fromPos - error start position in original text
      toPos - error end position in original text
      shortMessage - used for example in OpenOffice/LibreOffice's context menu (may be null)
      startWithUppercase - whether the original text at the position of the match starts with an uppercase character
      Since:
      4.0
    • RuleMatch

      public RuleMatch(RuleMatch clone)
    • RuleMatch

      public RuleMatch(RuleMatch clone, List<SuggestedReplacement> replacements, boolean ignored)
    • RuleMatch

      public RuleMatch(RuleMatch clone, List<SuggestedReplacement> replacements)
  • Method Details

    • getFeatures

      @NotNull public SortedMap<String,Float> getFeatures()
    • setFeatures

      public void setFeatures(@NotNull SortedMap<String,Float> features)
    • isAutoCorrect

      public boolean isAutoCorrect()
    • setAutoCorrect

      public void setAutoCorrect(boolean autoCorrect)
    • getRule

      public Rule getRule()
    • getLine

      public int getLine()
      Deprecated.
      rely on the character-based getFromPos() instead (deprecated since 3.4)
      Get the line number in which the match occurs (zero-based).
    • setLine

      public void setLine(int fromLine)
      Set the line number in which the match occurs (zero-based).
    • getEndLine

      public int getEndLine()
      Deprecated.
      rely on getToPos() instead (deprecated since 3.4)
      Get the line number in which the match ends (zero-based).
    • setEndLine

      public void setEndLine(int endLine)
      Set the line number in which the match ends (zero-based).
    • getColumn

      public int getColumn()
      Deprecated.
      rely on the character-based getFromPos() instead (deprecated since 3.4)
      Get the column number in which the match occurs (zero-based).
    • setColumn

      public void setColumn(int column)
      Deprecated.
      (deprecated since 3.5)
      Set the column number in which the match occurs (zero-based).
    • getEndColumn

      public int getEndColumn()
      Deprecated.
      rely on getToPos() instead (deprecated since 3.4)
      Get the column number in which the match ends (zero-based).
    • setEndColumn

      public void setEndColumn(int endColumn)
      Deprecated.
      (deprecated since 3.5)
      Set the column number in which the match ends (zero-based).
    • getPatternFromPos

      public int getPatternFromPos()
      Position of the start of the pattern (in characters, zero-based, relative to the original input text).
    • getPatternToPos

      public int getPatternToPos()
      Position of the end of the mistake pattern (in characters, zero-based, relative to the original input text).
    • setPatternPosition

      public void setPatternPosition(int fromPos, int toPos)
    • getFromPos

      public int getFromPos()
      Position of the start of the error (in characters, zero-based, relative to the original input text).
    • getToPos

      public int getToPos()
      Position of the end of the error (in characters, zero-based, relative to the original input text).
    • getFromPosSentence

      public int getFromPosSentence()
      Position of the start of the error (in characters, zero-based, relative to the original sentence). This value is used to keep the position in the sentence when the offsetPosition is adjusted to the whole text
    • getToPosSentence

      public int getToPosSentence()
      Position of the end of the error (in characters, zero-based, relative to the original sentence). This value is used to keep the position in the sentence when the offsetPosition is adjusted to the whole text
    • setOffsetPosition

      public void setOffsetPosition(int fromPos, int toPos)
    • setSentencePosition

      public void setSentencePosition(int fromPos, int toPos)
    • getMessage

      public String getMessage()
      A human-readable explanation describing the error. This may contain one or more corrections marked up with <suggestion>...</suggestion>.
      See Also:
    • setMessage

      public void setMessage(String msg)
    • getShortMessage

      public String getShortMessage()
      A shorter human-readable explanation describing the error or an empty string if no such explanation is available.
      See Also:
    • setShortMessage

      public void setShortMessage(String msg)
    • setSuggestedReplacement

      public void setSuggestedReplacement(String replacement)
      See Also:
    • addSuggestedReplacement

      public void addSuggestedReplacement(String replacement)
    • addSuggestedReplacements

      public void addSuggestedReplacements(List<String> replacements)
    • getSuggestedReplacements

      public List<String> getSuggestedReplacements()
      The text fragments which might be an appropriate fix for the problem. One of these fragments can be used to replace the old text between getFromPos() to getToPos().
      Returns:
      unmodifiable list of String objects or an empty List
    • setSuggestedReplacements

      public void setSuggestedReplacements(List<String> replacements)
      See Also:
    • getSuggestedReplacementObjects

      public List<SuggestedReplacement> getSuggestedReplacementObjects()
    • setSuggestedReplacementObjects

      public void setSuggestedReplacementObjects(List<SuggestedReplacement> replacements)
      See Also:
    • setLazySuggestedReplacements

      public void setLazySuggestedReplacements(@NotNull Supplier<List<SuggestedReplacement>> replacements)
      Set a lazy supplier that will compute suggested replacements when getSuggestedReplacements() or getSuggestedReplacementObjects() is called. This can be used to speed up sentence analysis in cases when computationally expensive replacements won't necessarily be needed (e.g. for an IDE in the same process).
    • computeLazySuggestedReplacements

      public void computeLazySuggestedReplacements()
      Force computing replacements, e.g. for accurate metrics for computation time and to set timeouts for this process Used in server use case (i.e. org.languagetool.server.TextChecker)
    • discardLazySuggestedReplacements

      public void discardLazySuggestedReplacements()
      Discard lazy suggested replacements, but keep other suggestions Useful to enforce time limits on result computation
    • getUrl

      @Nullable public URL getUrl()
      A URL that points to a more detailed error description or null. Note that the Rule itself might also have an URL, which is usually a less specific one than this. This one will overwrite the rule's URL in the JSON output.
      Since:
      4.0
    • setUrl

      public void setUrl(URL url)
      Since:
      4.0
    • getSentence

      public AnalyzedSentence getSentence()
      Since:
      4.0
    • getType

      public RuleMatch.Type getType()
      Since:
      4.3
    • setType

      public void setType(RuleMatch.Type type)
      Since:
      4.3
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • compareTo

      public int compareTo(RuleMatch other)
      Compare by start position.
      Specified by:
      compareTo in interface Comparable<RuleMatch>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getNewLanguageMatches

      public Map<String,Float> getNewLanguageMatches()
      The language that the text might be in if the error limit has been reached.
      Since:
      6.4
    • setNewLanguageMatches

      public void setNewLanguageMatches(Map<String,Float> newLanguageMatches)
      Call if the error limit is reached for this sentence. The caller will then get text ranges for the sentence and can ignore errors there. Note: will not have an effect for text-level rules.
      Parameters:
      newLanguageMatches - a map of possible languages this could be instead
      Since:
      6.4
    • setSpecificRuleId

      public void setSpecificRuleId(String ruleId)
      Set a new specific rule ID in the RuleMatch to replace getRule().getId() in the output. Used for statistical purposes.
      Since:
      5.6
    • getSpecificRuleId

      public String getSpecificRuleId()
      Get the specific rule ID from the RuleMatch to replace getRule().getId() in the output. Used for statistical purposes.
      Since:
      5.6
    • setOriginalErrorStr

      public void setOriginalErrorStr()
    • setOriginalErrorStr

      public void setOriginalErrorStr(String originalErrorStr)
      To store the underlined string in the original sentence.
    • getOriginalErrorStr

      public String getOriginalErrorStr()
      Get the underlined string in the original sentence. Only available for sentence-level pattern rules. Returns an empty string if not available. For other rules, use setOriginalErrorStr(String originalErrorStr)
      Since:
      6.3