diff --git a/src/main/java/model/elements/MountainHandler.java b/src/main/java/model/elements/MountainHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..2457608df438ed2611c083ccaad00352341339ff --- /dev/null +++ b/src/main/java/model/elements/MountainHandler.java @@ -0,0 +1,36 @@ +package model.elements; + +import model.ModelElement; +import model.Mountain; +import util.Position; + +import java.util.*; + +public class MountainHandler implements ElementHandler { + private final List<Mountain> mountains; + + public MountainHandler(List<Mountain> mountains) { + this.mountains = mountains; + } + + @Override + public void addElement(Position position) { + mountains.add(new Mountain(position)); + } + + @Override + public void removeElement(Position position) { + mountains.removeIf(mountain -> mountain.getPosition().equals(position)); + } + + @Override + public boolean hasElement(Position position) { + return mountains.stream().anyMatch(mountain -> mountain.getPosition().equals(position)); + } + + + @Override + public ModelElement getModelElement() { + return ModelElement.MOUNTAIN; + } +}