package tc.oc.api.trophies;
import tc.oc.api.docs.Trophy;
import tc.oc.api.model.ModelStore;
import javax.inject.Singleton;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
@Singleton
public class TrophyStore extends ModelStore<Trophy> {
private final Map<String, Trophy> byName = new HashMap<>();
@Override
protected void reindex(Trophy doc) {
super.reindex(doc);
byName.put(doc.name(), doc);
}
@Override
protected void unindex(Trophy doc) {
super.unindex(doc);
byName.remove(doc.name());
}
public Optional<Trophy> byName(String name) {
return Optional.ofNullable(byName.get(name));
}
}