Package org.languagetool.rules.en
Class UpperCaseNgramRule
java.lang.Object
org.languagetool.rules.Rule
org.languagetool.rules.en.UpperCaseNgramRule
Finds some(!) words written uppercase that should be spelled lowercase.
- Since:
- 5.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final List<List<PatternToken>> private final Supplier<List<DisambiguationPatternRule>> private static com.hankcs.algorithm.AhoCorasickDoubleArrayTrie<String> private final Languageprivate static LinguServicesprivate final LanguageModelprivate static final Patternprivate static MorfologikAmericanSpellerRulestatic final intprivate static final Pattern -
Constructor Summary
ConstructorsConstructorDescriptionUpperCaseNgramRule(ResourceBundle messages, LanguageModel lm, Language lang, UserConfig userConfig) -
Method Summary
Modifier and TypeMethodDescription(package private) booleanfirstLongWordToLeftIsUppercase(AnalyzedTokenReadings[] tokens, int pos) (package private) booleanfirstLongWordToRightIsUppercase(AnalyzedTokenReadings[] tokens, int pos) Overwrite this to avoid false alarms by ignoring these patterns - note that yourRule.match(AnalyzedSentence)method needs to callRule.getSentenceWithImmunization(org.languagetool.AnalyzedSentence)for this to be used and you need to checkAnalyzedTokenReadings.isImmunized()A short description of the error this rule can detect, usually in the language of the text that is checked.final StringgetId()A string used to identify the rule in e.g.private voidprivate voidinitTrie()(package private) booleanisMisspelled(String word) private booleanisSentence(AnalyzedTokenReadings[] tokens) private booleanisShortWord(AnalyzedTokenReadings token) match(AnalyzedSentence sentence) Check whether the given sentence matches this error rule, i.e.(package private) booleanmaybeTitle(AnalyzedTokenReadings[] tokens, int i) private booleannextIsOneOfThenUppercase(AnalyzedTokenReadings[] tokens, int i, List<String> strings) private booleannextIsUpperCase(AnalyzedTokenReadings[] tokens, int i) private booleanprevIsOneOf(AnalyzedTokenReadings[] tokens, int i, List<String> strings) private booleanprevIsUpperCase(AnalyzedTokenReadings[] tokens, int i) private booleantrieMatches(String text, AnalyzedTokenReadings token) Methods inherited from class org.languagetool.rules.Rule
addExamplePair, addTags, addToneTags, cacheAntiPatterns, estimateContextForSureMatch, getCategory, getCorrectExamples, getDistanceTokens, getErrorTriggeringExamples, getFullId, getIncorrectExamples, getLocQualityIssueType, getMinPrevMatches, getPriority, getRuleOptions, getSentenceWithImmunization, getSourceFile, getSubId, getTags, getToneTags, getUrl, hasTag, hasToneTag, isDefaultOff, isDefaultTempOff, isDictionaryBasedSpellingRule, isGoalSpecific, isIncludedInHiddenMatches, isOfficeDefaultOff, isOfficeDefaultOn, isPremium, makeAntiPatterns, setCategory, setCorrectExamples, setDefaultOff, setDefaultOn, setDefaultTempOff, setDistanceTokens, setErrorTriggeringExamples, setExamplePair, setGoalSpecific, setIncludedInHiddenMatches, setIncorrectExamples, setLocQualityIssueType, setMinPrevMatches, setOfficeDefaultOff, setOfficeDefaultOn, setPremium, setPriority, setTags, setToneTags, setUrl, supportsLanguage, toRuleMatchArray, useInOffice
-
Field Details
-
THRESHOLD
public static final int THRESHOLD- See Also:
-
spellerRule
-
linguServices
-
PUNCT_PATTERN
-
exceptions
-
TYPICAL_LOWERCASE
-
exceptionTrie
-
ANTI_PATTERNS
-
lang
-
lm
-
antiPatterns
-
-
Constructor Details
-
UpperCaseNgramRule
public UpperCaseNgramRule(ResourceBundle messages, LanguageModel lm, Language lang, UserConfig userConfig)
-
-
Method Details
-
initSpeller
private void initSpeller() -
initTrie
private void initTrie() -
getAntiPatterns
Description copied from class:RuleOverwrite this to avoid false alarms by ignoring these patterns - note that yourRule.match(AnalyzedSentence)method needs to callRule.getSentenceWithImmunization(org.languagetool.AnalyzedSentence)for this to be used and you need to checkAnalyzedTokenReadings.isImmunized()- Overrides:
getAntiPatternsin classRule
-
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
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
-
match
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 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:
matchin classRule- Parameters:
sentence- a pre-analyzed sentence- Returns:
- an array of
RuleMatchobjects - Throws:
IOException
-
isMisspelled
- Throws:
IOException
-
maybeTitle
-
firstLongWordToLeftIsUppercase
-
firstLongWordToRightIsUppercase
-
isShortWord
-
trieMatches
-
prevIsOneOf
-
nextIsOneOfThenUppercase
private boolean nextIsOneOfThenUppercase(AnalyzedTokenReadings[] tokens, int i, List<String> strings) -
prevIsUpperCase
-
nextIsUpperCase
-
isSentence
-