55import java .util .HashMap ;
66
77/**
8- * EmploiDuTempsProxy est un classe qui permet de proposer un proxy pour
9- * l'emploi du temps
10- *
11- * @author emerick-biron, MathieuSoysal
12- * @version 1.0
8+ * <b>EmploiDuTempsProxy est la classe représentant le proxy de la class
9+ * {@link EmploiDuTemps}.</b>
10+ * <p>
11+ * L'instance d'EmploiDuTempsProxy est caractérisé par une liste de cache.
12+ *
13+ * @author emerick-biron
14+ * @author MathieuSoysal
15+ * @version 1.0.0
16+ * @see EmploiDuTemps
1317 * @see InterfaceEmploiDuTemps
1418 */
15- public class EmploiDuTempsProxy implements InterfaceEmploiDuTemps {
19+ public final class EmploiDuTempsProxy implements InterfaceEmploiDuTemps {
1620 private static EmploiDuTempsProxy singleton = null ;
1721 @ SuppressWarnings ("deprecation" )
1822 private EmploiDuTemps emploiDuTemps ;
@@ -26,6 +30,10 @@ private EmploiDuTempsProxy() {
2630 actualiser ();
2731 }
2832
33+ /**
34+ * @return l'instance de {@link EmploiDuTempsProxy}.
35+ *
36+ */
2937 public static EmploiDuTempsProxy getInstance () {
3038 EmploiDuTempsProxy localInstance = singleton ;
3139 if (localInstance == null ) {
@@ -39,22 +47,55 @@ public static EmploiDuTempsProxy getInstance() {
3947 return localInstance ;
4048 }
4149
50+ /**
51+ * Permet d'obtenir le planning correspondant à une date
52+ *
53+ * @param date date pour laquelle on veut obtenir le planning
54+ * @return {@code Planning} correspondant
55+ * @since 1.0
56+ *
57+ * @see Planning
58+ */
4259 @ Override
4360 public Planning getPlanningOf (LocalDate date ) {
4461 return cacheDate .computeIfAbsent (date , k -> emploiDuTemps .getPlanningOf (k ));
4562 }
4663
64+ /**
65+ * Permet d'obtenir le planning correspondant à une date et un groupe
66+ *
67+ * @param date date dont on veut obtenir le planning
68+ * @param groupe groupe dont on veut obtenir le planning
69+ * @return planning correspondant
70+ * @since 1.0
71+ *
72+ * @see Groupe
73+ * @see Planning
74+ */
4775 @ Override
4876 public Planning getPlanningOf (LocalDate date , Groupe groupe ) {
4977 MultiKey <LocalDate , Groupe > multiKey = new MultiKey <>(date , groupe );
5078 return cacheDateGroupe .computeIfAbsent (multiKey , k -> getPlanningOf (k .key1 ).getPlanningOf (k .key2 ));
5179 }
5280
81+ /**
82+ * Permet d'obtenir le planning correspondant à un groupe
83+ *
84+ * @param groupe groupe dont on veut obtenir le planning
85+ * @return planning correspondant
86+ * @since 1.0
87+ *
88+ * @see Groupe
89+ * @see Planning
90+ */
5391 @ Override
5492 public Planning getPlanningOf (Groupe groupe ) {
5593 return cacheGroupe .computeIfAbsent (groupe , k -> emploiDuTemps .getPlanningOf (k ));
5694 }
5795
96+ /**
97+ * Permet d'actualiser l'emploi du temps avec celui de l'ent.
98+ */
5899 @ SuppressWarnings ("deprecation" )
59100 @ Override
60101 public void actualiser () {
0 commit comments