Class HunspellRule
- java.lang.Object
-
- org.languagetool.rules.Rule
-
- org.languagetool.rules.spelling.SpellingCheckRule
-
- org.languagetool.rules.spelling.hunspell.HunspellRule
-
- Direct Known Subclasses:
CompoundAwareHunspellRule
,HunspellNoSuggestionRule
public class HunspellRule extends SpellingCheckRule
A hunspell-based spellchecking-rule. The default dictionary is set to the first country variant on the list - so the order in the Language class declaration is important!- Author:
- Marcin Miłkowski
-
-
Field Summary
Fields Modifier and Type Field Description protected static String
FILE_EXTENSION
protected Hunspell.Dictionary
hunspellDict
protected boolean
needsInit
protected Pattern
nonWordPattern
static String
RULE_ID
protected SuggestionsOrderer
suggestionsOrderer
-
Fields inherited from class org.languagetool.rules.spelling.SpellingCheckRule
ignoreWordsWithLength, language, languageModel, LANGUAGETOOL, LANGUAGETOOLER, wordListLoader
-
-
Constructor Summary
Constructors Constructor Description HunspellRule(ResourceBundle messages, Language language, UserConfig userConfig)
HunspellRule(ResourceBundle messages, Language language, UserConfig userConfig, List<Language> altLanguages)
HunspellRule(ResourceBundle messages, Language language, UserConfig userConfig, List<Language> altLanguages, LanguageModel languageModel)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Queue<String>
getActiveChecks()
String
getDescription()
A short description of the error this rule can detect, usually in the language of the text that is checked.protected @NotNull String
getDictFilenameInResources(String langCountry)
String
getId()
A string used to identify the rule in e.g.protected String
getSentenceTextWithoutUrlsAndImmunizedTokens(AnalyzedSentence sentence)
List<String>
getSuggestions(String word)
protected void
init()
protected boolean
isAcceptedWordFromLanguage(Language language, String word)
Used in combination withacceptedInAlternativeLanguage
to surpress spelling errors for words from a foreign languageboolean
isMisspelled(String word)
protected boolean
isQuotedCompound(AnalyzedSentence analyzedSentence, int idx, String token)
Is the given token part of a hyphenated compound preceded by a quoted token (e.g., „Spiegel“-Magazin) and should be treated as an ordinary hyphenated compound (e.g., „Spiegel-Magazin“)RuleMatch[]
match(AnalyzedSentence sentence)
Check whether the given sentence matches this error rule, i.e.protected List<String>
sortSuggestionByQuality(String misspelling, List<String> suggestions)
protected String[]
tokenizeText(String sentence)
-
Methods inherited from class org.languagetool.rules.spelling.SpellingCheckRule
acceptedInAlternativeLanguage, acceptPhrases, addIgnoreTokens, addIgnoreWords, addProhibitedWords, addSuggestionsToRuleMatch, createWrongSplitMatch, expandLine, filterDupes, filterSuggestions, getAdditionalProhibitFileNames, getAdditionalSpellingFileNames, getAdditionalSuggestions, getAdditionalTopSuggestions, getAlternativeLangSpellingRules, getAntiPatterns, getIgnoreFileName, getLanguageVariantSpellingFileName, getProhibitFileName, getSpellingFileName, ignoreToken, ignoreWord, ignoreWord, isDictionaryBasedSpellingRule, isEMail, isProhibited, isUrl, reorderSuggestions, setConsiderIgnoreWords, setConvertsCase, startsWithIgnoredWord
-
Methods inherited from class org.languagetool.rules.Rule
addExamplePair, estimateContextForSureMatch, getCategory, getConfigureText, getCorrectExamples, getDefaultValue, getErrorTriggeringExamples, getIncorrectExamples, getLocQualityIssueType, getMaxConfigurableValue, getMinConfigurableValue, getSentenceWithImmunization, getUrl, hasConfigurableValue, isDefaultOff, isDefaultTempOff, isOfficeDefaultOff, isOfficeDefaultOn, makeAntiPatterns, setCategory, setCorrectExamples, setDefaultOff, setDefaultOn, setDefaultTempOff, setErrorTriggeringExamples, setIncorrectExamples, setLocQualityIssueType, setOfficeDefaultOff, setOfficeDefaultOn, setUrl, supportsLanguage, toRuleMatchArray, useInOffice
-
-
-
-
Field Detail
-
RULE_ID
public static final String RULE_ID
- See Also:
- Constant Field Values
-
FILE_EXTENSION
protected static final String FILE_EXTENSION
- See Also:
- Constant Field Values
-
suggestionsOrderer
protected final SuggestionsOrderer suggestionsOrderer
-
needsInit
protected boolean needsInit
-
hunspellDict
protected Hunspell.Dictionary hunspellDict
-
nonWordPattern
protected Pattern nonWordPattern
-
-
Constructor Detail
-
HunspellRule
public HunspellRule(ResourceBundle messages, Language language, UserConfig userConfig)
-
HunspellRule
public HunspellRule(ResourceBundle messages, Language language, UserConfig userConfig, List<Language> altLanguages)
- Since:
- 4.3
-
HunspellRule
public HunspellRule(ResourceBundle messages, Language language, UserConfig userConfig, List<Language> altLanguages, LanguageModel languageModel)
-
-
Method Detail
-
getId
public 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.- Specified by:
getId
in classSpellingCheckRule
-
getDescription
public 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 classSpellingCheckRule
-
isQuotedCompound
protected boolean isQuotedCompound(AnalyzedSentence analyzedSentence, int idx, String token)
Is the given token part of a hyphenated compound preceded by a quoted token (e.g., „Spiegel“-Magazin) and should be treated as an ordinary hyphenated compound (e.g., „Spiegel-Magazin“)
-
match
public RuleMatch[] match(AnalyzedSentence sentence) throws IOException
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).- Specified by:
match
in classSpellingCheckRule
- Parameters:
sentence
- a pre-analyzed sentence- Returns:
- an array of
RuleMatch
objects - Throws:
IOException
-
isMisspelled
@Experimental public boolean isMisspelled(String word)
- Specified by:
isMisspelled
in classSpellingCheckRule
- Since:
- public since 4.1
-
getSuggestions
public List<String> getSuggestions(String word) throws IOException
- Throws:
IOException
-
sortSuggestionByQuality
protected List<String> sortSuggestionByQuality(String misspelling, List<String> suggestions)
-
getSentenceTextWithoutUrlsAndImmunizedTokens
protected String getSentenceTextWithoutUrlsAndImmunizedTokens(AnalyzedSentence sentence)
-
init
protected void init() throws IOException
- Overrides:
init
in classSpellingCheckRule
- Throws:
IOException
-
getDictFilenameInResources
@NotNull protected @NotNull String getDictFilenameInResources(String langCountry)
-
isAcceptedWordFromLanguage
protected boolean isAcceptedWordFromLanguage(Language language, String word)
Used in combination withacceptedInAlternativeLanguage
to surpress spelling errors for words from a foreign language- Parameters:
language
-word
-- Returns:
- true if the
word
fromlanguage
can be considered as correctly spelled - Since:
- 4.6
-
-