@Override public boolean removeAll(Collection<?> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; List<Synset> copy = new ArrayList<>(this); boolean result = super.removeAll(c); if (result) { for (Object object : c) { if (object instanceof Synset) { Synset synset = (Synset) object; if (copy.contains(synset)) { removeWordsFromSynset(synset, lemma); } } } checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.removeAll(c); } }
private void loadAllSynsets() { if (null != synsetOffsets) { synchronized (this) { if (null != synsetOffsets) { super.ensureCapacity(synsetOffsets.length); for (long synsetOffset : synsetOffsets) { Synset synset = loadSynset(synsetOffset); if (null != synset) { super.add(synset); } else { if (null != dictionary) { log.warn(dictionary.getMessages().resolveMessage("DICTIONARY_WARN_004", new Object[]{synsetOffset, getLemma()})); } else { log.warn(ResourceBundleSet.insertParams("Synset {0} not found while loading index word {1}", new Object[]{synsetOffset, getLemma()})); } } } synsetOffsets = null; } } } }
private void loadAllSynsets() { if (null != synsetOffsets) { synchronized (this) { if (null != synsetOffsets) { super.ensureCapacity(synsetOffsets.length); for (long synsetOffset : synsetOffsets) { Synset synset = loadSynset(synsetOffset); if (null != synset) { super.add(synset); } else { if (null != dictionary) { log.warn(dictionary.getMessages().resolveMessage("DICTIONARY_WARN_004", new Object[]{synsetOffset, getLemma()})); } else { log.warn(ResourceBundleSet.insertParams("Synset {0} not found while loading index word {1}", new Object[]{synsetOffset, getLemma()})); } } } synsetOffsets = null; } } } }
@Override public boolean removeAll(Collection<?> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; List<Synset> copy = new ArrayList<>(this); boolean result = super.removeAll(c); if (result) { for (Object object : c) { if (object instanceof Synset) { Synset synset = (Synset) object; if (copy.contains(synset)) { removeWordsFromSynset(synset, lemma); } } } checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.removeAll(c); } }
@Override public boolean retainAll(Collection<?> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; List<Synset> copy = new ArrayList<>(this); boolean result = super.retainAll(c); if (result) { for (Synset synset : copy) { if (!c.contains(synset)) { removeWordsFromSynset(synset, lemma); } } checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.retainAll(c); } }
public IndexWord(Dictionary dictionary, String lemma, POS pos, Synset synset) throws JWNLException { this(dictionary, lemma, pos); if (null == synset) { if (null != dictionary) { throw new IllegalArgumentException(dictionary.getMessages().resolveMessage("DICTIONARY_EXCEPTION_042")); } else { throw new IllegalArgumentException("Synset must be not null"); } } if (synset.getPOS() != pos) { if (null != dictionary) { throw new IllegalArgumentException(dictionary.getMessages().resolveMessage("DICTIONARY_EXCEPTION_062")); } else { throw new IllegalArgumentException("Synset POS must be equal to index word POS"); } } this.synsets = new SynsetList(1); this.synsets.add(synset); }
@Override public boolean retainAll(Collection<?> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; List<Synset> copy = new ArrayList<>(this); boolean result = super.retainAll(c); if (result) { for (Synset synset : copy) { if (!c.contains(synset)) { removeWordsFromSynset(synset, lemma); } } checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.retainAll(c); } }
public IndexWord(Dictionary dictionary, String lemma, POS pos, Synset synset) throws JWNLException { this(dictionary, lemma, pos); if (null == synset) { if (null != dictionary) { throw new IllegalArgumentException(dictionary.getMessages().resolveMessage("DICTIONARY_EXCEPTION_042")); } else { throw new IllegalArgumentException("Synset must be not null"); } } if (synset.getPOS() != pos) { if (null != dictionary) { throw new IllegalArgumentException(dictionary.getMessages().resolveMessage("DICTIONARY_EXCEPTION_062")); } else { throw new IllegalArgumentException("Synset POS must be equal to index word POS"); } } this.synsets = new SynsetList(1); this.synsets.add(synset); }
@Override public boolean addAll(Collection<? extends Synset> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { boolean result = false; for (Synset synset : c) { if (add(synset)) { result = true; } } return result; } else { for (Synset synset : c) { checkSynsetIsNotNull(synset); } return super.addAll(c); } }
@Override public boolean addAll(Collection<? extends Synset> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { boolean result = false; for (Synset synset : c) { if (add(synset)) { result = true; } } return result; } else { for (Synset synset : c) { checkSynsetIsNotNull(synset); } return super.addAll(c); } }
@Override public boolean addAll(int index, Collection<? extends Synset> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { for (Synset synset : c) { add(index, synset); index++; } return true; } else { for (Synset synset : c) { checkSynsetIsNotNull(synset); } return super.addAll(index, c); } }
@Override public boolean addAll(int index, Collection<? extends Synset> c) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { for (Synset synset : c) { add(index, synset); index++; } return true; } else { for (Synset synset : c) { checkSynsetIsNotNull(synset); } return super.addAll(index, c); } }
@Override public Synset set(int index, Synset synset) { checkSynsetIsNotNull(synset); checkDictionaryIsOurs(synset); loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Synset result = super.set(index, synset); if (null != result) { removeWordsFromSynset(result, lemma); } addWord(synset, lemma); return result; } else { return super.set(index, synset); } }
@Override public Synset set(int index, Synset synset) { checkSynsetIsNotNull(synset); checkDictionaryIsOurs(synset); loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Synset result = super.set(index, synset); if (null != result) { removeWordsFromSynset(result, lemma); } addWord(synset, lemma); return result; } else { return super.set(index, synset); } }
@Override public Synset remove(int index) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; Synset result = super.remove(index); if (null != result) { removeWordsFromSynset(result, lemma); checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.remove(index); } }
@Override public void clear() { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; List<Synset> copy = new ArrayList<>(this); super.clear(); for (Synset synset : copy) { removeWordsFromSynset(synset, lemma); } checkIfWeReEmptyAndRemoveIndexWord(d); } else { super.clear(); } }
@Override public void clear() { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; List<Synset> copy = new ArrayList<>(this); super.clear(); for (Synset synset : copy) { removeWordsFromSynset(synset, lemma); } checkIfWeReEmptyAndRemoveIndexWord(d); } else { super.clear(); } }
@Override public boolean remove(Object o) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; boolean result = super.remove(o); if (result && o instanceof Synset) { removeWordsFromSynset((Synset) o, lemma); checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.remove(o); } }
@Override public Synset remove(int index) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; Synset result = super.remove(index); if (null != result) { removeWordsFromSynset(result, lemma); checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.remove(index); } }
@Override public boolean remove(Object o) { loadAllSynsets(); if (null != dictionary && dictionary.isEditable()) { Dictionary d = dictionary; boolean result = super.remove(o); if (result && o instanceof Synset) { removeWordsFromSynset((Synset) o, lemma); checkIfWeReEmptyAndRemoveIndexWord(d); } return result; } else { return super.remove(o); } }