package org.netmelody.cieye.server.response;
import java.util.Collection;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.netmelody.cieye.core.domain.Landscape;
import org.netmelody.cieye.core.domain.Sponsor;
import com.google.common.collect.MapMaker;
public final class Prison {
private final Map<String, Set<Sponsor>> cells = new MapMaker().makeMap();
public void imprison(Collection<Sponsor> criminals, Landscape crime) {
cells.put(crime.name(), new HashSet<Sponsor>(criminals));
}
public void paroleAllPrisonersFor(Landscape crime) {
cells.remove(crime.name());
}
public boolean crimeReported(Landscape crime) {
return cells.containsKey(crime.name());
}
public Set<Sponsor> prisonersFor(Landscape crime) {
if (!cells.containsKey(crime.name())) {
return new HashSet<Sponsor>();
}
return new HashSet<Sponsor>(cells.get(crime.name()));
}
}