public List<String> getSuggestions(String word) { final List<String> suggestions = new ArrayList<>(); try { suggestions.addAll(speller.findReplacements(word)); if (suggestions.isEmpty() && !word.toLowerCase(conversionLocale).equals(word)) { suggestions.addAll(speller.findReplacements(word.toLowerCase(conversionLocale))); } suggestions.addAll(speller.replaceRunOnWords(word)); } catch (CharacterCodingException e) { throw new RuntimeException(e); } if (dictionary.metadata.isConvertingCase() && StringTools.startsWithUppercase(word)) { for (int i = 0; i < suggestions.size(); i++) { suggestions.set(i, StringTools.uppercaseFirstChar(suggestions.get(i))); } } return suggestions; }
public boolean isMisspelled(String word) { return word.length() > 0 && !SpellingCheckRule.LANGUAGETOOL.equals(word) && !SpellingCheckRule.LANGUAGETOOL_FX.equals(word) && speller.isMisspelled(word); }