Package org.languagetool.rules.de
Class CaseRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.de.CaseRule
-
public class CaseRule extends org.languagetool.rules.Rule
Check that adjectives and verbs are not written with an uppercase first letter (except at the start of a sentence) and cases like this: Das laufen fällt mir leicht. (laufen needs to be uppercased).
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<java.util.List<org.languagetool.rules.patterns.PatternToken>>
ANTI_PATTERNS
private static java.lang.String
COLON_MESSAGE
private static java.lang.String[]
DAS_VERB_EXCEPTIONS
private static java.util.Set<java.util.regex.Pattern[]>
exceptionPatterns
private static java.lang.String[]
exceptions
private German
german
private static java.lang.String[]
INTERROGATIVE_PARTICLES
private static java.util.Set<java.lang.String>
languages
private static java.lang.String
LOWERCASE_MESSAGE
private static java.util.Set<java.lang.String>
nounIndicators
private static java.util.regex.Pattern
NUMERALS_EN
private static java.lang.String[]
POSSESSIVE_INDICATORS
static org.languagetool.rules.patterns.PatternToken
SENT_START
private static java.lang.String[]
sentenceStartExceptions
private static java.util.Set<java.lang.String>
substVerbenExceptions
private GermanTagger
tagger
private static java.lang.String[]
UNDEFINED_QUANTIFIERS
private static java.lang.String
UPPERCASE_MESSAGE
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addRuleMatch(java.util.List<org.languagetool.rules.RuleMatch> ruleMatches, org.languagetool.AnalyzedSentence sentence, java.lang.String msg, org.languagetool.AnalyzedTokenReadings tokenReadings, java.lang.String fixedWord)
(package private) boolean
compareLists(org.languagetool.AnalyzedTokenReadings[] tokens, int startIndex, int endIndex, java.util.regex.Pattern[] patterns)
int
estimateContextForSureMatch()
java.util.List<org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule>
getAntiPatterns()
java.lang.String
getDescription()
java.lang.String
getId()
private int
getTokensWithPosTagStartingWithCount(org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String partialPosTag)
java.net.URL
getUrl()
private boolean
hasNounReading(org.languagetool.AnalyzedTokenReadings readings)
private boolean
hasPartialTag(org.languagetool.AnalyzedTokenReadings token, java.lang.String... posTags)
private boolean
isAdjectiveAsNoun(int i, org.languagetool.AnalyzedTokenReadings[] tokens, org.languagetool.AnalyzedTokenReadings lowercaseReadings)
private boolean
isAdverbAndNominalization(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isCompany(java.lang.String token)
private boolean
isDot(java.lang.String token)
private boolean
isEllipsis(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isExceptionPhrase(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isFollowedByRelativeOrSubordinateClause(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isLanguage(int i, org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String token)
private boolean
isNominalization(int i, org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String token, org.languagetool.AnalyzedTokenReadings lowercaseReadings)
private boolean
isNounWithVerbReading(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isNumber(java.lang.String token)
private boolean
isNumbering(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isPotentialUpperCaseError(int pos, org.languagetool.AnalyzedTokenReadings[] tokens, org.languagetool.AnalyzedTokenReadings lowercaseReadings, boolean isPrecededByModalOrAuxiliary)
private boolean
isPrevProbablyRelativePronoun(org.languagetool.AnalyzedTokenReadings[] tokens, int i)
private boolean
isProbablyCity(int i, org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String token)
private boolean
isSalutation(java.lang.String token)
private boolean
isSpecialCase(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
private boolean
isVerbFollowing(int i, org.languagetool.AnalyzedTokenReadings[] tokens, org.languagetool.AnalyzedTokenReadings lowercaseReadings)
private org.languagetool.AnalyzedTokenReadings
lookup(java.lang.String word)
org.languagetool.rules.RuleMatch[]
match(org.languagetool.AnalyzedSentence sentence)
private void
potentiallyAddLowercaseMatch(java.util.List<org.languagetool.rules.RuleMatch> ruleMatches, org.languagetool.AnalyzedTokenReadings tokenReadings, boolean prevTokenIsDas, java.lang.String token, boolean nextTokenIsPersonalOrReflexivePronoun, org.languagetool.AnalyzedSentence sentence)
private void
potentiallyAddUppercaseMatch(java.util.List<org.languagetool.rules.RuleMatch> ruleMatches, org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings analyzedToken, java.lang.String token, org.languagetool.AnalyzedTokenReadings lowercaseReadings, org.languagetool.AnalyzedSentence sentence)
-
Methods inherited from class org.languagetool.rules.Rule
addExamplePair, getCategory, getConfigureText, getCorrectExamples, getDefaultValue, getErrorTriggeringExamples, getIncorrectExamples, getLocQualityIssueType, getMaxConfigurableValue, getMinConfigurableValue, getSentenceWithImmunization, hasConfigurableValue, isDefaultOff, isDefaultTempOff, isDictionaryBasedSpellingRule, isOfficeDefaultOff, isOfficeDefaultOn, makeAntiPatterns, setCategory, setCorrectExamples, setDefaultOff, setDefaultOn, setDefaultTempOff, setErrorTriggeringExamples, setIncorrectExamples, setLocQualityIssueType, setOfficeDefaultOff, setOfficeDefaultOn, setUrl, supportsLanguage, toRuleMatchArray, useInOffice
-
-
-
-
Field Detail
-
NUMERALS_EN
private static final java.util.regex.Pattern NUMERALS_EN
-
nounIndicators
private static final java.util.Set<java.lang.String> nounIndicators
-
UPPERCASE_MESSAGE
private static final java.lang.String UPPERCASE_MESSAGE
- See Also:
- Constant Field Values
-
LOWERCASE_MESSAGE
private static final java.lang.String LOWERCASE_MESSAGE
- See Also:
- Constant Field Values
-
COLON_MESSAGE
private static final java.lang.String COLON_MESSAGE
- See Also:
- Constant Field Values
-
SENT_START
public static final org.languagetool.rules.patterns.PatternToken SENT_START
-
ANTI_PATTERNS
private static final java.util.List<java.util.List<org.languagetool.rules.patterns.PatternToken>> ANTI_PATTERNS
-
sentenceStartExceptions
private static final java.lang.String[] sentenceStartExceptions
-
UNDEFINED_QUANTIFIERS
private static final java.lang.String[] UNDEFINED_QUANTIFIERS
-
INTERROGATIVE_PARTICLES
private static final java.lang.String[] INTERROGATIVE_PARTICLES
-
POSSESSIVE_INDICATORS
private static final java.lang.String[] POSSESSIVE_INDICATORS
-
DAS_VERB_EXCEPTIONS
private static final java.lang.String[] DAS_VERB_EXCEPTIONS
-
exceptions
private static final java.lang.String[] exceptions
-
languages
private static final java.util.Set<java.lang.String> languages
-
exceptionPatterns
private static final java.util.Set<java.util.regex.Pattern[]> exceptionPatterns
-
substVerbenExceptions
private static final java.util.Set<java.lang.String> substVerbenExceptions
-
tagger
private final GermanTagger tagger
-
german
private final German german
-
-
Constructor Detail
-
CaseRule
public CaseRule(java.util.ResourceBundle messages, German german)
-
-
Method Detail
-
getId
public java.lang.String getId()
- Specified by:
getId
in classorg.languagetool.rules.Rule
-
estimateContextForSureMatch
public int estimateContextForSureMatch()
- Overrides:
estimateContextForSureMatch
in classorg.languagetool.rules.Rule
-
getUrl
public java.net.URL getUrl()
- Overrides:
getUrl
in classorg.languagetool.rules.Rule
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription
in classorg.languagetool.rules.Rule
-
match
public org.languagetool.rules.RuleMatch[] match(org.languagetool.AnalyzedSentence sentence) throws java.io.IOException
- Specified by:
match
in classorg.languagetool.rules.Rule
- Throws:
java.io.IOException
-
getTokensWithPosTagStartingWithCount
private int getTokensWithPosTagStartingWithCount(org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String partialPosTag)
-
isPotentialUpperCaseError
private boolean isPotentialUpperCaseError(int pos, org.languagetool.AnalyzedTokenReadings[] tokens, org.languagetool.AnalyzedTokenReadings lowercaseReadings, boolean isPrecededByModalOrAuxiliary)
-
getAntiPatterns
public java.util.List<org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule> getAntiPatterns()
- Overrides:
getAntiPatterns
in classorg.languagetool.rules.Rule
-
isPrevProbablyRelativePronoun
private boolean isPrevProbablyRelativePronoun(org.languagetool.AnalyzedTokenReadings[] tokens, int i)
-
isSalutation
private boolean isSalutation(java.lang.String token)
-
isCompany
private boolean isCompany(java.lang.String token)
-
isDot
private boolean isDot(java.lang.String token)
-
hasNounReading
private boolean hasNounReading(org.languagetool.AnalyzedTokenReadings readings)
-
potentiallyAddLowercaseMatch
private void potentiallyAddLowercaseMatch(java.util.List<org.languagetool.rules.RuleMatch> ruleMatches, org.languagetool.AnalyzedTokenReadings tokenReadings, boolean prevTokenIsDas, java.lang.String token, boolean nextTokenIsPersonalOrReflexivePronoun, org.languagetool.AnalyzedSentence sentence)
-
potentiallyAddUppercaseMatch
private void potentiallyAddUppercaseMatch(java.util.List<org.languagetool.rules.RuleMatch> ruleMatches, org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings analyzedToken, java.lang.String token, org.languagetool.AnalyzedTokenReadings lowercaseReadings, org.languagetool.AnalyzedSentence sentence)
-
isNounWithVerbReading
private boolean isNounWithVerbReading(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
isVerbFollowing
private boolean isVerbFollowing(int i, org.languagetool.AnalyzedTokenReadings[] tokens, org.languagetool.AnalyzedTokenReadings lowercaseReadings)
-
addRuleMatch
private void addRuleMatch(java.util.List<org.languagetool.rules.RuleMatch> ruleMatches, org.languagetool.AnalyzedSentence sentence, java.lang.String msg, org.languagetool.AnalyzedTokenReadings tokenReadings, java.lang.String fixedWord)
-
isNumbering
private boolean isNumbering(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
isEllipsis
private boolean isEllipsis(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
isNominalization
private boolean isNominalization(int i, org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String token, org.languagetool.AnalyzedTokenReadings lowercaseReadings)
-
isNumber
private boolean isNumber(java.lang.String token)
-
isAdverbAndNominalization
private boolean isAdverbAndNominalization(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
hasPartialTag
private boolean hasPartialTag(org.languagetool.AnalyzedTokenReadings token, java.lang.String... posTags)
-
isSpecialCase
private boolean isSpecialCase(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
isAdjectiveAsNoun
private boolean isAdjectiveAsNoun(int i, org.languagetool.AnalyzedTokenReadings[] tokens, org.languagetool.AnalyzedTokenReadings lowercaseReadings)
-
isLanguage
private boolean isLanguage(int i, org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String token)
-
isProbablyCity
private boolean isProbablyCity(int i, org.languagetool.AnalyzedTokenReadings[] tokens, java.lang.String token)
-
isFollowedByRelativeOrSubordinateClause
private boolean isFollowedByRelativeOrSubordinateClause(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
isExceptionPhrase
private boolean isExceptionPhrase(int i, org.languagetool.AnalyzedTokenReadings[] tokens)
-
compareLists
boolean compareLists(org.languagetool.AnalyzedTokenReadings[] tokens, int startIndex, int endIndex, java.util.regex.Pattern[] patterns)
-
lookup
private org.languagetool.AnalyzedTokenReadings lookup(java.lang.String word)
-
-