diff --git a/src/main/java/model/elements/FirefighterHandler.java b/src/main/java/model/elements/FirefighterHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..3c378ee142940247fbbf60f04cfce69699678e79 --- /dev/null +++ b/src/main/java/model/elements/FirefighterHandler.java @@ -0,0 +1,35 @@ +package model.elements; + +import model.Firefighter; +import model.ModelElement; +import util.Position; + +import java.util.*; + +public class FirefighterHandler implements ElementHandler { + private final List<Firefighter> firefighters; + + public FirefighterHandler(List<Firefighter> firefighters) { + this.firefighters = firefighters; + } + + @Override + public void addElement(Position position) { + firefighters.add(new Firefighter(position)); + } + + @Override + public void removeElement(Position position) { + firefighters.removeIf(f -> f.getPosition().equals(position)); + } + + @Override + public boolean hasElement(Position position) { + return firefighters.stream().anyMatch(f -> f.getPosition().equals(position)); + } + + @Override + public ModelElement getModelElement() { + return ModelElement.FIREFIGHTER; + } +}