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