From 457ba1164599cdad9f59d1c1768b55ac6d6a897e Mon Sep 17 00:00:00 2001
From: Celia AREZKI <celia.arezki.1@etu.univ-amu.fr>
Date: Sun, 17 Nov 2024 21:06:50 +0100
Subject: [PATCH] BoardProperties : add the documentation

---
 src/main/java/model/BoardProperties.java | 36 ++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 3 deletions(-)

diff --git a/src/main/java/model/BoardProperties.java b/src/main/java/model/BoardProperties.java
index 901b116..d8b02df 100644
--- a/src/main/java/model/BoardProperties.java
+++ b/src/main/java/model/BoardProperties.java
@@ -4,9 +4,39 @@ import util.Position;
 
 import java.util.List;
 
-public interface BoardProperties {
+/**
+ * Interface représentant les propriétés d'un tableau générique pour la gestion de l'état.
+ *
+ * @param <S> Le type d'état utilisé pour les éléments du tableau.
+ */
+public interface BoardProperties<S> {
+    /**
+     * Retourne le nombre de lignes du tableau.
+     *
+     * @return Le nombre de lignes.
+     */
     int rowCount(); // Nombre de lignes.
+
+    /**
+     * Retourne le nombre de colonnes du tableau.
+     *
+     * @return Le nombre de colonnes.
+     */
     int columnCount(); // Nombre de colonnes.
-    List<ModelElement> getState(Position position); // État des éléments sur une position donnée.
-    void setState(List<ModelElement> state, Position position);
+
+    /**
+     * Retourne l'état des éléments situés à une position spécifique du tableau.
+     *
+     * @param position La position sur le tableau pour laquelle récupérer l'état.
+     * @return L'état des éléments à la position donnée.
+     */
+    S getState(Position position); // État des éléments sur une position donnée.
+
+    /**
+     * Définit l'état des éléments à une position spécifique du tableau.
+     *
+     * @param state    L'état à définir pour la position donnée.
+     * @param position La position sur le tableau pour laquelle définir l'état.
+     */
+    void setState(S state, Position position);
 }
-- 
GitLab