Package org.languagetool.rules.patterns
Class PatternRule
java.lang.Object
org.languagetool.rules.Rule
org.languagetool.rules.patterns.AbstractPatternRule
org.languagetool.rules.patterns.PatternRule
- Direct Known Subclasses:
FalseFriendPatternRule
A Rule that describes a language error as a simple pattern of words or of
part-of-speech tags.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private boolean
private final String
private final boolean
Fields inherited from class org.languagetool.rules.patterns.AbstractPatternRule
antiPatterns, endPositionCorrection, filter, filterArgs, language, message, patternTokens, regex, regexMark, sentStart, sourceFile, startPositionCorrection, subId, suggestionMatches, suggestionMatchesOutMsg, suggestionsOutMsg, testUnification
-
Constructor Summary
ConstructorsConstructorDescriptionPatternRule
(String id, Language language, List<PatternToken> patternTokens, String description, String message, String shortMessage) PatternRule
(String id, Language language, List<PatternToken> patternTokens, String description, String message, String shortMessage, String suggestionsOutMsg) PatternRule
(String id, Language language, List<PatternToken> patternTokens, String description, String message, String shortMessage, String suggestionsOutMsg, boolean isMember) PatternRule
(String id, Language language, List<PatternToken> patternTokens, String description, String message, String shortMessage, String suggestionsOutMsg, boolean isMember, boolean interpretPosTagsPreDisambiguation) -
Method Summary
Modifier and TypeMethodDescriptionboolean
canBeIgnoredFor
(AnalyzedSentence sentence) A fast check whether this rule can be ignored for the given sentence because it can never match.int
A number that estimates how many words there must be after a match before we can be (relatively) sure the match is valid.getSet
(boolean isInflected) (package private) String
(package private) boolean
Whether any POS tags from this rule should refer to the POS tags of the analyzed sentence *before* disambiguation.(package private) final boolean
Used for testing rules: only one of the set can match.final RuleMatch[]
match
(AnalyzedSentence sentence) Check whether the given sentence matches this error rule, i.e.(package private) final void
Reset complex status - used for testing.final String
Return the pattern as a string, using toString() on the pattern elements.final String
toXML()
Return the rule's definition as an XML string, loaded from the XML rule files.Methods inherited from class org.languagetool.rules.patterns.AbstractPatternRule
addSuggestionMatch, addSuggestionMatchOutMsg, getAntiPatterns, getDescription, getEndPositionCorrection, getFilter, getFilterArguments, getFullId, getId, getLanguage, getMessage, getPatternRuleId, getPatternTokens, getSourceFile, getStartPositionCorrection, getSubId, getSuggestionMatches, getSuggestionMatchesOutMsg, getSuggestionsOutMsg, isGetUnified, isGroupsOrUnification, isSentStart, isTestUnification, setAntiPatterns, setEndPositionCorrection, setFilter, setFilterArguments, setMessage, setSourceFile, setStartPositionCorrection, setSubId, supportsLanguage, toString
Methods inherited from class org.languagetool.rules.Rule
addExamplePair, 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, toRuleMatchArray, useInOffice
-
Field Details
-
shortMessage
-
elementNo
-
simpleRuleTokens
-
inflectedRuleTokens
-
useList
private final boolean useList -
interpretPosTagsPreDisambiguation
private boolean interpretPosTagsPreDisambiguation -
isMemberOfDisjunctiveSet
private boolean isMemberOfDisjunctiveSet
-
-
Constructor Details
-
PatternRule
public PatternRule(String id, Language language, List<PatternToken> patternTokens, String description, String message, String shortMessage, String suggestionsOutMsg) - Parameters:
id
- Id of the Rule. Used in configuration. Should not contain special characters and should be stable over time, unless the rule changes completely.language
- Language of the Ruledescription
- Description to be shown (name)message
- Message to be displayed to the usershortMessage
- Message to be displayed to the user in the context menu in OpenOffice.org/LibreOffice
-
PatternRule
-
PatternRule
-
PatternRule
@Experimental public PatternRule(String id, Language language, List<PatternToken> patternTokens, String description, String message, String shortMessage, String suggestionsOutMsg, boolean isMember, boolean interpretPosTagsPreDisambiguation) - Since:
- 4.5
-
-
Method Details
-
estimateContextForSureMatch
Description copied from class:Rule
A 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-1
when the sentence needs to end to be sure there's a match.- Overrides:
estimateContextForSureMatch
in classRule
-
isInterpretPosTagsPreDisambiguation
Whether any POS tags from this rule should refer to the POS tags of the analyzed sentence *before* disambiguation.- Since:
- 4.5
-
isWithComplexPhrase
final boolean isWithComplexPhrase()Used for testing rules: only one of the set can match.- Returns:
- Whether the rule can non-match (as a member of disjunctive set of rules generated by phraseref in includephrases element).
-
notComplexPhrase
final void notComplexPhrase()Reset complex status - used for testing. -
toPatternString
Return the pattern as a string, using toString() on the pattern elements.- Since:
- 0.9.2
-
toXML
Return the rule's definition as an XML string, loaded from the XML rule files.- Since:
- 0.9.3
-
match
Description copied from class:Rule
Check 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).- Overrides:
match
in classAbstractPatternRule
- Parameters:
sentence
- a pre-analyzed sentence- Returns:
- an array of
RuleMatch
objects - Throws:
IOException
-
canBeIgnoredFor
A fast check whether this rule can be ignored for the given sentence because it can never match. Used internally for performance optimization.- Since:
- 2.4
-
getSet
-
getElementNo
-
getShortMessage
String getShortMessage()- Overrides:
getShortMessage
in classAbstractPatternRule
- Returns:
- String of short message as specified in <short>...</short>
-