Package org.languagetool.rules
Class GenericUnpairedBracketsRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.TextLevelRule
-
- org.languagetool.rules.GenericUnpairedBracketsRule
-
public class GenericUnpairedBracketsRule extends TextLevelRule
Rule that finds unpaired quotes, brackets etc.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<java.lang.String>
endSymbols
private java.util.regex.Pattern
numerals
private static java.util.regex.Pattern
NUMERALS_EN
private static java.util.regex.Pattern
PUNCTUATION
private static java.util.regex.Pattern
PUNCTUATION_NO_DOT
private java.lang.String
ruleId
private java.util.List<java.lang.String>
startSymbols
private java.util.Map<java.lang.String,java.lang.Boolean>
uniqueMap
-
Constructor Summary
Constructors Constructor Description GenericUnpairedBracketsRule(java.lang.String ruleId, java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols)
GenericUnpairedBracketsRule(java.lang.String ruleId, java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols, java.util.regex.Pattern numerals)
GenericUnpairedBracketsRule(java.util.ResourceBundle messages)
Construct rule with a set of default start and end symbols:[] () {} "" ''
GenericUnpairedBracketsRule(java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols)
GenericUnpairedBracketsRule(java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols, java.util.regex.Pattern numerals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private @Nullable RuleMatch
createMatch(java.util.List<RuleMatch> ruleMatches, UnsyncStack<SymbolLocator> ruleMatchStack, int startPos, java.lang.String symbol, AnalyzedSentence sentence, java.util.List<AnalyzedSentence> sentences)
private boolean
fillSymbolStack(int startPosBase, AnalyzedTokenReadings[] tokens, int i, int j, UnsyncStack<SymbolLocator> symbolStack, AnalyzedSentence sentence)
private java.lang.String
findCorrespondingSymbol(java.lang.String symbol)
java.lang.String
getDescription()
A short description of the error this rule can detect, usually in the language of the text that is checked.private boolean
getFollowedByWhitespace(AnalyzedTokenReadings[] tokens, int i, int j)
java.lang.String
getId()
A string used to identify the rule in e.g.private boolean
getPrecededByWhitespace(AnalyzedTokenReadings[] tokens, int i, int j)
private boolean
isEndSymbolUnique(java.lang.String str)
protected boolean
isNoException(java.lang.String token, AnalyzedTokenReadings[] tokens, int i, int j, boolean precSpace, boolean follSpace, UnsyncStack<SymbolLocator> symbolStack)
Generic method to specify an exception.RuleMatch[]
match(java.util.List<AnalyzedSentence> sentences)
int
minToCheckParagraph()
Gives back the minimum number of paragraphs to check to give back a correct result.private java.util.Map<java.lang.String,java.lang.Boolean>
uniqueMapInit()
-
Methods inherited from class org.languagetool.rules.TextLevelRule
estimateContextForSureMatch, match, match
-
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
-
NUMERALS_EN
private static final java.util.regex.Pattern NUMERALS_EN
-
PUNCTUATION
private static final java.util.regex.Pattern PUNCTUATION
-
PUNCTUATION_NO_DOT
private static final java.util.regex.Pattern PUNCTUATION_NO_DOT
-
startSymbols
private final java.util.List<java.lang.String> startSymbols
-
endSymbols
private final java.util.List<java.lang.String> endSymbols
-
uniqueMap
private final java.util.Map<java.lang.String,java.lang.Boolean> uniqueMap
-
ruleId
private final java.lang.String ruleId
-
numerals
private final java.util.regex.Pattern numerals
-
-
Constructor Detail
-
GenericUnpairedBracketsRule
public GenericUnpairedBracketsRule(java.lang.String ruleId, java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols)
-
GenericUnpairedBracketsRule
public GenericUnpairedBracketsRule(java.lang.String ruleId, java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols, java.util.regex.Pattern numerals)
- Since:
- 3.7
-
GenericUnpairedBracketsRule
public GenericUnpairedBracketsRule(java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols)
- Parameters:
startSymbols
- start symbols like "(" - note that the array must be of equal length as the next parameter and the sequence of starting symbols must match exactly the sequence of ending symbols.endSymbols
- end symbols like ")"
-
GenericUnpairedBracketsRule
public GenericUnpairedBracketsRule(java.util.ResourceBundle messages, java.util.List<java.lang.String> startSymbols, java.util.List<java.lang.String> endSymbols, java.util.regex.Pattern numerals)
- Since:
- 3.7
-
GenericUnpairedBracketsRule
public GenericUnpairedBracketsRule(java.util.ResourceBundle messages)
Construct rule with a set of default start and end symbols:[] () {} "" ''
-
-
Method Detail
-
getId
public java.lang.String getId()
Description copied from class:Rule
A 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-Z
and the underscore.
-
getDescription
public java.lang.String getDescription()
Description copied from class:Rule
A short description of the error this rule can detect, usually in the language of the text that is checked.- Specified by:
getDescription
in classRule
-
isNoException
protected boolean isNoException(java.lang.String token, AnalyzedTokenReadings[] tokens, int i, int j, boolean precSpace, boolean follSpace, UnsyncStack<SymbolLocator> symbolStack)
Generic method to specify an exception. For unspecified language, it simply returns true (which means no exception) unless there's a common smiley like :-) or ;-).- Parameters:
token
- String tokentokens
- Sentence tokensi
- Current token indexprecSpace
- is preceded with spacefollSpace
- is followed with space
-
match
public final RuleMatch[] match(java.util.List<AnalyzedSentence> sentences)
- Specified by:
match
in classTextLevelRule
-
uniqueMapInit
private java.util.Map<java.lang.String,java.lang.Boolean> uniqueMapInit()
-
fillSymbolStack
private boolean fillSymbolStack(int startPosBase, AnalyzedTokenReadings[] tokens, int i, int j, UnsyncStack<SymbolLocator> symbolStack, AnalyzedSentence sentence)
-
getPrecededByWhitespace
private boolean getPrecededByWhitespace(AnalyzedTokenReadings[] tokens, int i, int j)
-
getFollowedByWhitespace
private boolean getFollowedByWhitespace(AnalyzedTokenReadings[] tokens, int i, int j)
-
isEndSymbolUnique
private boolean isEndSymbolUnique(java.lang.String str)
-
createMatch
@Nullable private @Nullable RuleMatch createMatch(java.util.List<RuleMatch> ruleMatches, UnsyncStack<SymbolLocator> ruleMatchStack, int startPos, java.lang.String symbol, AnalyzedSentence sentence, java.util.List<AnalyzedSentence> sentences)
-
findCorrespondingSymbol
private java.lang.String findCorrespondingSymbol(java.lang.String symbol)
-
minToCheckParagraph
public int minToCheckParagraph()
Description copied from class:TextLevelRule
Gives back the minimum number of paragraphs to check to give back a correct result. Only used by LO office extension.- n == -1 --> need to check full text (use only if really needed / bad performance) examples: AbstractWordCoherencyRule, GenericUnpairedBracketsRule, ...
- n == 0 --> need only to check the current paragraph examples: MultipleWhitespaceRule, LongParagraphRule, ...
- n >= 1 --> need only to check n paragraphs around the current paragraph examples: ParagraphRepeatBeginningRule (n == 1), WordRepeatBeginningRule (n == 2), ...
- Specified by:
minToCheckParagraph
in classTextLevelRule
-
-