Package org.languagetool.rules
Class AbstractCompoundRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.AbstractCompoundRule
-
public abstract class AbstractCompoundRule extends Rule
Checks that compounds (if in the list) are not written as separate words.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static intMAX_TERMSprotected booleansentenceStartsWithUpperCaseprivate java.lang.StringshortDescprivate java.lang.StringwithHyphenMessageprivate java.lang.StringwithOrWithoutHyphenMessageprivate java.lang.StringwithoutHyphenMessage
-
Constructor Summary
Constructors Constructor Description AbstractCompoundRule(java.util.ResourceBundle messages, java.lang.String withHyphenMessage, java.lang.String withoutHyphenMessage, java.lang.String withOrWithoutHyphenMessage)AbstractCompoundRule(java.util.ResourceBundle messages, java.lang.String withHyphenMessage, java.lang.String withoutHyphenMessage, java.lang.String withOrWithoutHyphenMessage, java.lang.String shortMessage)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private voidaddToQueue(AnalyzedTokenReadings token, java.util.Queue<AnalyzedTokenReadings> prevTokens)intestimateContextForSureMatch()A number that estimates how many words there must be after a match before we can be (relatively) sure the match is valid.protected abstract CompoundRuleDatagetCompoundRuleData()abstract java.lang.StringgetDescription()A short description of the error this rule can detect, usually in the language of the text that is checked.abstract java.lang.StringgetId()A string used to identify the rule in e.g.private java.util.Map<java.lang.String,AnalyzedTokenReadings>getStringToTokenMap(java.util.Queue<AnalyzedTokenReadings> prevTokens, java.util.List<java.lang.String> stringsToCheck, java.util.List<java.lang.String> origStringsToCheck)booleanisHyphenIgnored()Flag to indicate if the hyphen is ignored in the text entered by the user.private booleanisNotAllUppercase(java.lang.String str)RuleMatch[]match(AnalyzedSentence sentence)Check whether the given sentence matches this error rule, i.e.private java.lang.StringmergeCompound(java.lang.String str, boolean uncapitalizeMidWords)private java.lang.Stringnormalize(java.lang.String inStr)-
Methods inherited from class org.languagetool.rules.Rule
addExamplePair, 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
-
-
-
-
Field Detail
-
MAX_TERMS
static final int MAX_TERMS
- See Also:
- Constant Field Values
-
withHyphenMessage
private final java.lang.String withHyphenMessage
-
withoutHyphenMessage
private final java.lang.String withoutHyphenMessage
-
withOrWithoutHyphenMessage
private final java.lang.String withOrWithoutHyphenMessage
-
shortDesc
private final java.lang.String shortDesc
-
sentenceStartsWithUpperCase
protected boolean sentenceStartsWithUpperCase
-
-
Constructor Detail
-
AbstractCompoundRule
public AbstractCompoundRule(java.util.ResourceBundle messages, java.lang.String withHyphenMessage, java.lang.String withoutHyphenMessage, java.lang.String withOrWithoutHyphenMessage) throws java.io.IOException- Throws:
java.io.IOException- Since:
- 3.0
-
AbstractCompoundRule
public AbstractCompoundRule(java.util.ResourceBundle messages, java.lang.String withHyphenMessage, java.lang.String withoutHyphenMessage, java.lang.String withOrWithoutHyphenMessage, java.lang.String shortMessage) throws java.io.IOException- Throws:
java.io.IOException- Since:
- 3.0
-
-
Method Detail
-
getId
public abstract 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 abstract 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
-
estimateContextForSureMatch
public int estimateContextForSureMatch()
Description copied from class:RuleA number that estimates how many words there must be after a match before we can be (relatively) sure the match is valid. This is useful for check-as-you-type, where a match might occur and the word that gets typed next makes the match disappear (something one would obviously like to avoid). Note: this may over-estimate the real context size. Returns-1when the sentence needs to end to be sure there's a match.- Overrides:
estimateContextForSureMatchin classRule
-
getCompoundRuleData
protected abstract CompoundRuleData getCompoundRuleData()
- Since:
- 3.0
-
isHyphenIgnored
public boolean isHyphenIgnored()
Flag to indicate if the hyphen is ignored in the text entered by the user. Set this to false if you want the rule to offer suggestions for words like [ro] "câte-și-trei" (with hyphen), not only for "câte și trei" (with spaces) This is only available for languages with hyphen as a word separator (ie: not available for English, available for Romanian). See Language.getWordTokenizer()
-
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).
-
getStringToTokenMap
private java.util.Map<java.lang.String,AnalyzedTokenReadings> getStringToTokenMap(java.util.Queue<AnalyzedTokenReadings> prevTokens, java.util.List<java.lang.String> stringsToCheck, java.util.List<java.lang.String> origStringsToCheck)
-
normalize
private java.lang.String normalize(java.lang.String inStr)
-
isNotAllUppercase
private boolean isNotAllUppercase(java.lang.String str)
-
mergeCompound
private java.lang.String mergeCompound(java.lang.String str, boolean uncapitalizeMidWords)
-
addToQueue
private void addToQueue(AnalyzedTokenReadings token, java.util.Queue<AnalyzedTokenReadings> prevTokens)
-
-