public Set getProposals(final String word, final boolean sentence) { // synchronizing might not be needed here since getProposals is // a read-only access and only called in the same thread as // the modifing methods add/removeDictionary (?) Set copy; synchronized (fDictionaries) { copy= new HashSet(fDictionaries); } ISpellDictionary dictionary= null; final HashSet proposals= new HashSet(); for (final Iterator iterator= copy.iterator(); iterator.hasNext();) { dictionary= (ISpellDictionary)iterator.next(); proposals.addAll(dictionary.getProposals(word, sentence)); } return proposals; }
@Override public Set<RankedWordProposal> getProposals(final String word, final boolean sentence) { // synchronizing might not be needed here since getProposals is // a read-only access and only called in the same thread as // the modifing methods add/removeDictionary (?) Set<ISpellDictionary> copy; synchronized (fDictionaries) { copy= new HashSet<>(fDictionaries); } ISpellDictionary dictionary= null; final HashSet<RankedWordProposal> proposals= new HashSet<>(); for (final Iterator<ISpellDictionary> iterator= copy.iterator(); iterator.hasNext();) { dictionary= iterator.next(); proposals.addAll(dictionary.getProposals(word, sentence)); } return proposals; }
@Override public Set<RankedWordProposal> getProposals(final String word, final boolean sentence) { // synchronizing might not be needed here since getProposals is // a read-only access and only called in the same thread as // the modifing methods add/removeDictionary (?) Set<ISpellDictionary> copy; synchronized (fDictionaries) { copy= new HashSet<>(fDictionaries); } ISpellDictionary dictionary= null; final HashSet<RankedWordProposal> proposals= new HashSet<>(); for (final Iterator<ISpellDictionary> iterator= copy.iterator(); iterator.hasNext();) { dictionary= iterator.next(); proposals.addAll(dictionary.getProposals(word, sentence)); } return proposals; }