From 355e07eda227afdada033c18ccef181a9dc276aa Mon Sep 17 00:00:00 2001 From: ousseyn01 <ousseyn.ndiaye9@gmail.com> Date: Thu, 5 Dec 2024 21:05:50 +0100 Subject: [PATCH] CloudHandler.java is CREATED and DONE --- .../java/model/elements/CloudHandler.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/model/elements/CloudHandler.java diff --git a/src/main/java/model/elements/CloudHandler.java b/src/main/java/model/elements/CloudHandler.java new file mode 100644 index 0000000..be6d37a --- /dev/null +++ b/src/main/java/model/elements/CloudHandler.java @@ -0,0 +1,39 @@ +package model.elements; + +import model.Cloud; +import model.ModelElement; +import util.Position; + +import java.util.*; + +public class CloudHandler implements ElementHandler { + private final List<Cloud> clouds; + private final Map<Position, List<Position>> neighbors; + + public CloudHandler(List<Cloud> clouds, Map<Position, List<Position>> neighbors) { + this.clouds = clouds; + this.neighbors = neighbors; + } + + @Override + public void addElement(Position position) { + clouds.add(new Cloud(position, neighbors)); + } + + @Override + public void removeElement(Position position) { + clouds.removeIf(cloud -> cloud.getPosition().equals(position)); + } + + @Override + public boolean hasElement(Position position) { + return clouds.stream().anyMatch(cloud -> cloud.getPosition().equals(position)); + } + + + @Override + public ModelElement getModelElement() { + return ModelElement.CLOUD; + } +} + -- GitLab