// Copyright 2015 Thomas Müller
// This file is part of MarMoT, which is licensed under GPLv3.
package lemming.lemma;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class LemmaCandidateSet implements Iterable<Map.Entry<String, LemmaCandidate>>{
private Map<String, LemmaCandidate> map_;
public LemmaCandidateSet() {
map_ = new HashMap<>();
}
public LemmaCandidateSet(LemmaCandidateSet set) {
map_ = new HashMap<>(set.map_);
}
public LemmaCandidate getCandidate(String lemma) {
LemmaCandidate candidate = map_.get(lemma);
if (candidate != null) {
return candidate;
}
candidate = new LemmaCandidate();
map_.put(lemma, candidate);
return candidate;
}
@Override
public Iterator<Entry<String, LemmaCandidate>> iterator() {
return map_.entrySet().iterator();
}
public int size() {
return map_.size();
}
public boolean contains(String lemma) {
return map_.containsKey(lemma);
}
public void clear() {
map_.clear();
}
@Override
public String toString() {
return map_.keySet().toString();
}
public void addCandidate(String lemma, LemmaCandidate candidate) {
map_.put(lemma, candidate);
}
public Collection<LemmaCandidate> getCandidates() {
return map_.values();
}
}