Package org.languagetool.rules.de
Class SubjectVerbAgreementRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.de.SubjectVerbAgreementRule
-
public class SubjectVerbAgreementRule extends org.languagetool.rules.RuleCheck subject verb agreement for verb forms "ist", "sind", "war" and "waren". For example, it detects the errors in:- Das Auto sind schnell.
- Das Auto waren schnell.
- Die Autos ist schnell.
- Die Katze und der Hund ist schön.
- Since:
- 2.9
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classSubjectVerbAgreementRule.SingularPluralPair
-
Field Summary
Fields Modifier and Type Field Description private static java.util.List<java.util.List<org.languagetool.rules.patterns.PatternToken>>ANTI_PATTERNSprivate static java.util.List<java.lang.String>CURRENCIESprivate Germanlanguageprivate static org.languagetool.chunking.ChunkTagNPPprivate static org.languagetool.chunking.ChunkTagNPSprivate static java.util.List<SubjectVerbAgreementRule.SingularPluralPair>PAIRSprivate java.util.Set<java.lang.String>pluralprivate static org.languagetool.chunking.ChunkTagPPprivate static java.util.List<java.lang.String>QUESTION_PRONOUNSprivate java.util.Set<java.lang.String>singularprivate GermanTaggertagger
-
Constructor Summary
Constructors Constructor Description SubjectVerbAgreementRule(java.util.ResourceBundle messages, German language)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleancontainsOnlyInfinitivesToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)private booleancontainsRegexToTheLeft(java.lang.String regex, org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)intestimateContextForSureMatch()java.util.List<org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule>getAntiPatterns()java.lang.StringgetDescription()java.lang.StringgetId()private java.lang.StringgetPluralFor(java.lang.String token)private @Nullable org.languagetool.rules.RuleMatchgetPluralMatchOrNull(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, java.lang.String tokenStr, org.languagetool.AnalyzedSentence sentence)private java.lang.StringgetSingularFor(java.lang.String token)private @Nullable org.languagetool.rules.RuleMatchgetSingularMatchOrNull(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, java.lang.String tokenStr, org.languagetool.AnalyzedSentence sentence)java.net.URLgetUrl()private booleanhasQuestionPronounToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)private booleanhasUnknownTokenAt(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos, int endPos)private booleanhasUnknownTokenToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)private booleanhasUnknownTokenToTheRight(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)private booleanhasVerbToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)private booleanisCurrency(org.languagetool.AnalyzedTokenReadings token)(package private) booleanisFollowedByNominativePlural(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)org.languagetool.rules.RuleMatch[]match(org.languagetool.AnalyzedSentence sentence)(package private) booleanprevChunkIsNominative(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)-
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
-
NPS
private static final org.languagetool.chunking.ChunkTag NPS
-
NPP
private static final org.languagetool.chunking.ChunkTag NPP
-
PP
private static final org.languagetool.chunking.ChunkTag PP
-
QUESTION_PRONOUNS
private static final java.util.List<java.lang.String> QUESTION_PRONOUNS
-
CURRENCIES
private static final java.util.List<java.lang.String> CURRENCIES
-
PAIRS
private static final java.util.List<SubjectVerbAgreementRule.SingularPluralPair> PAIRS
-
singular
private final java.util.Set<java.lang.String> singular
-
plural
private final java.util.Set<java.lang.String> plural
-
ANTI_PATTERNS
private static final java.util.List<java.util.List<org.languagetool.rules.patterns.PatternToken>> ANTI_PATTERNS
-
tagger
private final GermanTagger tagger
-
language
private final German language
-
-
Constructor Detail
-
SubjectVerbAgreementRule
public SubjectVerbAgreementRule(java.util.ResourceBundle messages, German language)
-
-
Method Detail
-
getId
public java.lang.String getId()
- Specified by:
getIdin classorg.languagetool.rules.Rule
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescriptionin classorg.languagetool.rules.Rule
-
estimateContextForSureMatch
public int estimateContextForSureMatch()
- Overrides:
estimateContextForSureMatchin classorg.languagetool.rules.Rule
-
getAntiPatterns
public java.util.List<org.languagetool.tagging.disambiguation.rules.DisambiguationPatternRule> getAntiPatterns()
- Overrides:
getAntiPatternsin classorg.languagetool.rules.Rule
-
getUrl
public java.net.URL getUrl()
- Overrides:
getUrlin classorg.languagetool.rules.Rule
-
match
public org.languagetool.rules.RuleMatch[] match(org.languagetool.AnalyzedSentence sentence) throws java.io.IOException- Specified by:
matchin classorg.languagetool.rules.Rule- Throws:
java.io.IOException
-
getSingularMatchOrNull
@Nullable private @Nullable org.languagetool.rules.RuleMatch getSingularMatchOrNull(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, java.lang.String tokenStr, org.languagetool.AnalyzedSentence sentence) throws java.io.IOException- Throws:
java.io.IOException
-
getPluralMatchOrNull
@Nullable private @Nullable org.languagetool.rules.RuleMatch getPluralMatchOrNull(org.languagetool.AnalyzedTokenReadings[] tokens, int i, org.languagetool.AnalyzedTokenReadings token, java.lang.String tokenStr, org.languagetool.AnalyzedSentence sentence)
-
isCurrency
private boolean isCurrency(org.languagetool.AnalyzedTokenReadings token)
-
prevChunkIsNominative
boolean prevChunkIsNominative(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
hasUnknownTokenToTheLeft
private boolean hasUnknownTokenToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
hasUnknownTokenToTheRight
private boolean hasUnknownTokenToTheRight(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
hasUnknownTokenAt
private boolean hasUnknownTokenAt(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos, int endPos)
-
hasQuestionPronounToTheLeft
private boolean hasQuestionPronounToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
hasVerbToTheLeft
private boolean hasVerbToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
containsRegexToTheLeft
private boolean containsRegexToTheLeft(java.lang.String regex, org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
containsOnlyInfinitivesToTheLeft
private boolean containsOnlyInfinitivesToTheLeft(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos) throws java.io.IOException- Throws:
java.io.IOException
-
isFollowedByNominativePlural
boolean isFollowedByNominativePlural(org.languagetool.AnalyzedTokenReadings[] tokens, int startPos)
-
getSingularFor
private java.lang.String getSingularFor(java.lang.String token)
-
getPluralFor
private java.lang.String getPluralFor(java.lang.String token)
-
-