@Override public boolean acceptsWords() { // synchronizing might not be needed here since acceptWords is // a read-only access and only called in the same thread as // the modifying methods add/checkWord (?) Set<ISpellDictionary> copy; synchronized (fDictionaries) { copy= new HashSet<>(fDictionaries); } ISpellDictionary dictionary= null; for (final Iterator<ISpellDictionary> iterator= copy.iterator(); iterator.hasNext();) { dictionary= iterator.next(); if (dictionary.acceptsWords()) return true; } return false; }
public boolean acceptsWords() { // synchronizing might not be needed here since acceptWords is // a read-only access and only called in the same thread as // the modifying methods add/checkWord (?) Set copy; synchronized (fDictionaries) { copy= new HashSet(fDictionaries); } ISpellDictionary dictionary= null; for (final Iterator iterator= copy.iterator(); iterator.hasNext();) { dictionary= (ISpellDictionary)iterator.next(); if (dictionary.acceptsWords()) return true; } return false; }
public void addWord(final String word) { // synchronizing is necessary as this is a write access Set copy; synchronized (fDictionaries) { copy= new HashSet(fDictionaries); } final String addable= word.toLowerCase(); for (final Iterator iterator= copy.iterator(); iterator.hasNext();) { ISpellDictionary dictionary= (ISpellDictionary)iterator.next(); if (dictionary.acceptsWords()) dictionary.addWord(addable); } }
@Override public boolean acceptsWords() { // synchronizing might not be needed here since acceptWords is // a read-only access and only called in the same thread as // the modifying methods add/checkWord (?) Set<ISpellDictionary> copy; synchronized (fDictionaries) { copy= new HashSet<>(fDictionaries); } ISpellDictionary dictionary= null; for (final Iterator<ISpellDictionary> iterator= copy.iterator(); iterator.hasNext();) { dictionary= iterator.next(); if (dictionary.acceptsWords()) return true; } return false; }
@Override public void addWord(final String word) { // synchronizing is necessary as this is a write access Set<ISpellDictionary> copy; synchronized (fDictionaries) { copy= new HashSet<>(fDictionaries); } final String addable= word.toLowerCase(); for (final Iterator<ISpellDictionary> iterator= copy.iterator(); iterator.hasNext();) { ISpellDictionary dictionary= iterator.next(); if (dictionary.acceptsWords()) dictionary.addWord(addable); } }
@Override public void addWord(final String word) { // synchronizing is necessary as this is a write access Set<ISpellDictionary> copy; synchronized (fDictionaries) { copy= new HashSet<>(fDictionaries); } final String addable= word.toLowerCase(); for (final Iterator<ISpellDictionary> iterator= copy.iterator(); iterator.hasNext();) { ISpellDictionary dictionary= iterator.next(); if (dictionary.acceptsWords()) dictionary.addWord(addable); } }