Package org.languagetool.rules
Class AbstractSimpleReplaceRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.AbstractSimpleReplaceRule
-
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 fromrules/XX/replace.txt, where XX is a code of the language.
-
-
Field Summary
Fields Modifier and Type Field Description private booleancheckLemmasprotected booleanignoreTaggedWords
-
Constructor Summary
Constructors Constructor Description AbstractSimpleReplaceRule(java.util.ResourceBundle messages)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private java.lang.Stringcleanup(java.lang.String word)protected RuleMatchcreateRuleMatch(AnalyzedTokenReadings tokenReadings, java.util.List<java.lang.String> replacements, AnalyzedSentence sentence)protected java.util.List<RuleMatch>findMatches(AnalyzedTokenReadings tokenReadings, AnalyzedSentence sentence)java.lang.StringgetDescription()A short description of the error this rule can detect, usually in the language of the text that is checked.java.lang.StringgetId()A string used to identify the rule in e.g.java.util.LocalegetLocale()java.lang.StringgetMessage(java.lang.String tokenStr, java.util.List<java.lang.String> replacements)java.lang.StringgetShort()protected abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>>getWrongWords()booleanisCaseSensitive()Indicates if the rule is case-sensitive.booleanisCheckLemmas()protected booleanisTagged(AnalyzedTokenReadings tokenReadings)This method allows to override which tags will mark token as taggedprotected static java.util.Map<java.lang.String,java.util.List<java.lang.String>>loadFromPath(java.lang.String path)RuleMatch[]match(AnalyzedSentence sentence)Check whether the given sentence matches this error rule, i.e.voidsetCheckLemmas(boolean checkLemmas)Used to disable matching lemmas.voidsetIgnoreTaggedWords()Skip words that are known in the POS tagging dictionary, assuming they cannot be incorrect.-
Methods inherited from class org.languagetool.rules.Rule
addExamplePair, estimateContextForSureMatch, getAntiPatterns, getCategory, getConfigureText, getCorrectExamples, getDefaultValue, getErrorTriggeringExamples, getIncorrectExamples, getLocQualityIssueType, getMaxConfigurableValue, getMinConfigurableValue, getSentenceWithImmunization, getUrl, hasConfigurableValue, isDefaultOff, isDefaultTempOff, isDictionaryBasedSpellingRule, isOfficeDefaultOff, isOfficeDefaultOn, makeAntiPatterns, setCategory, setCorrectExamples, setDefaultOff, setDefaultOn, setDefaultTempOff, setErrorTriggeringExamples, setIncorrectExamples, setLocQualityIssueType, setOfficeDefaultOff, setOfficeDefaultOn, setUrl, supportsLanguage, toRuleMatchArray, useInOffice
-
-
-
-
Method Detail
-
getWrongWords
protected abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getWrongWords()
-
loadFromPath
protected static java.util.Map<java.lang.String,java.util.List<java.lang.String>> loadFromPath(java.lang.String path)
-
isCaseSensitive
public boolean isCaseSensitive()
Indicates if the rule is case-sensitive. Default value istrue.- Returns:
- true if the rule is case-sensitive, false otherwise.
-
getLocale
public java.util.Locale getLocale()
- Returns:
- the locale used for case conversion when
isCaseSensitive()is set tofalse.
-
setIgnoreTaggedWords
public void setIgnoreTaggedWords()
Skip words that are known in the POS tagging dictionary, assuming they cannot be incorrect.- Since:
- 2.3
-
getId
public java.lang.String getId()
Description copied from class:RuleA 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 charactersA-Zand the underscore.
-
getDescription
public java.lang.String getDescription()
Description copied from class:RuleA short description of the error this rule can detect, usually in the language of the text that is checked.- Specified by:
getDescriptionin classRule
-
getMessage
public java.lang.String getMessage(java.lang.String tokenStr, java.util.List<java.lang.String> replacements)
-
getShort
public java.lang.String getShort()
-
cleanup
private java.lang.String cleanup(java.lang.String word)
-
match
public RuleMatch[] match(AnalyzedSentence sentence)
Description copied from class:RuleCheck 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).
-
findMatches
protected java.util.List<RuleMatch> findMatches(AnalyzedTokenReadings tokenReadings, AnalyzedSentence sentence)
-
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, java.util.List<java.lang.String> replacements, AnalyzedSentence sentence)
-
isCheckLemmas
public boolean isCheckLemmas()
- Since:
- 2.5
-
setCheckLemmas
public void setCheckLemmas(boolean checkLemmas)
Used to disable matching lemmas.- Since:
- 2.5
-
-