From d1aa545225ad95df47ffa386da674ca51f0be17e Mon Sep 17 00:00:00 2001 From: martins Date: Thu, 8 Dec 2022 11:49:03 +0100 Subject: [PATCH] fin git, supression fichier ~ --- .../API/AbstractChangementFactory.java~ | 93 -------------- .../API/AbstractGroupeFactory.java~ | 106 ---------------- .../projetIHM2022FI2/API/Changement.java~ | 85 ------------- .../projetIHM2022FI2/API/Etudiant.java~ | 33 ----- .../projetIHM2022FI2/API/Groupe.java~ | 115 ------------------ .../projetIHM2022FI2/API/MonPrint.java~ | 7 -- .../projetIHM2022FI2/API/TypeGroupe.java~ | 10 -- 7 files changed, 449 deletions(-) delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/AbstractChangementFactory.java~ delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java~ delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/Changement.java~ delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/Etudiant.java~ delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/Groupe.java~ delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/MonPrint.java~ delete mode 100644 src/fr/iutfbleau/projetIHM2022FI2/API/TypeGroupe.java~ diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractChangementFactory.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractChangementFactory.java~ deleted file mode 100644 index c0849de..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractChangementFactory.java~ +++ /dev/null @@ -1,93 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.API; -import java.util.*; -/** - * Usine abstraite gérant l'ensemble des groupes. - * - */ - -public interface AbstractGroupeFactory { - - /** - * permet de récupérer le Groupe qui contient les étudiants de toute la promotion - * @return la promo. - */ - public Groupe getPromotion(); - - /** - * permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes. - * Pour détruire un groupe connu qui en contient d'autres il faut le faire récursivement. - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalStateException si le groupe contient des groupes - * @throws java.lang.IllegalArgumentException si le groupe n'est pas connu de l'usine abstraite ou bien si le groupe est celui de toute la promotion (renvoyé par getPromotion) - */ - public void deleteGroupe(Groupe g); - - /** - * permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné. - * @param pere le groupe père du groupe à créer - * @param name le nom du groupe à créer - * @param min,max bornes indicatives sur la taille du groupe à créer - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalArgumentException si le groupe pere est de type PARTITION - * ou si il n'y a pas 0 < min <= max - */ - public void createGroupe(Groupe pere, String name, int min, int max); - - /** - * permet de créer une partition automatiquement sous un groupe donné. - * - * @param pere le groupe père du groupe à partitionner - * @param name le nom des groupe à créer (on ajoutera à la suite un numéro ou une lettre pour distinguer chaque groupe) - * @param n le nombre de partitions - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalArgumentException si le groupe pere est de type PARTITION - * ou n négatif ou nul - * - * NB. doit créer une "copie" de pere - * sous pere de type Partition et ajouter sous ce groupe, n groupes de type "FREE". - * les valeurs min et max de ces n groupes sont - * min = 0 et - * max = partie entière de N/n plus 1, où N est le nombre max du groupe pere. - */ - public void createPartition(Groupe pere, String name, int n); - - /** - * permet d'ajouter un étudiant à un groupe. - * - * @param g le groupe dans lequel il faut ajouter l'étudiant - * @param e l'étudiant à ajouter - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalArgumentException la factory ne connaît pas g - * @throws java.lang.IllegalStateException le père de g ne contient pas e - */ - public void addToGroupe(Groupe g, Etudiant e); - - /** - * permet d'enlever un étudiant d'un groupe. - * - * @param g le groupe dans lequel il faut enlever l'étudiant - * @param e l'étudiant à enlever - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalStateException g ne contient pas e - * @throws java.lang.IllegalArgumentException la factory ne connaît pas g - */ - public void dropFromGroupe(Groupe g, Etudiant e); - - /** - * permet de retrouver un étudiant à partir de son identifiant - * - * @param id l'identifiant de l'étudiant - * @return Etudiant l'étudiant connu de la factory ayant cet identifiant - * - * @throws java.lang.IllegalStateException la factory ne connaît pas l'étudiant. - */ - public Etudiant getEtudiantFromId(int idEtu); - - - - -} diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java~ deleted file mode 100644 index f1dbec9..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/AbstractGroupeFactory.java~ +++ /dev/null @@ -1,106 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.API; -import java.util.*; -/** - * Usine abstraite gérant l'ensemble des groupes. - * - */ - -public interface AbstractGroupeFactory { - - /** - * permet de récupérer le Groupe qui contient les étudiants de toute la promotion - * @return la promo. - */ - public Groupe getPromotion(); - - /** - * permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes. - * Pour détruire un groupe connu qui en contient d'autres il faut le faire récursivement. - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalStateException si le groupe contient des groupes - * @throws java.lang.IllegalArgumentException si le groupe n'est pas connu de l'usine abstraite ou bien si le groupe est celui de toute la promotion (renvoyé par getPromotion) - */ - public void deleteGroupe(Groupe g); - - /** - * permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné. - * @param pere le groupe père du groupe à créer - * @param name le nom du groupe à créer - * @param min,max bornes indicatives sur la taille du groupe à créer - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalArgumentException si le groupe pere est de type PARTITION - * ou si il n'y a pas 0 < min <= max - */ - public void createGroupe(Groupe pere, String name, int min, int max); - - /** - * permet de créer une partition automatiquement sous un groupe donné. - * - * @param pere le groupe père du groupe à partitionner - * @param name le nom des groupe à créer (on ajoutera à la suite un numéro ou une lettre pour distinguer chaque groupe) - * @param n le nombre de partitions - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalArgumentException si le groupe pere est de type PARTITION - * ou n négatif ou nul - * - * NB. doit créer une "copie" de pere - * sous pere de type Partition et ajouter sous ce groupe, n groupes de type "FREE". - * les valeurs min et max de ces n groupes sont - * min = 0 et - * max = partie entière de N/n plus 1, où N est le nombre max du groupe pere. - */ - public void createPartition(Groupe pere, String name, int n); - - /** - * permet d'ajouter un étudiant à un groupe. - * - * @param g le groupe dans lequel il faut ajouter l'étudiant - * @param e l'étudiant à ajouter - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalArgumentException la factory ne connaît pas g - * @throws java.lang.IllegalStateException le père de g ne contient pas e - */ - public void addToGroupe(Groupe g, Etudiant e); - - /** - * permet d'enlever un étudiant d'un groupe. - * - * @param g le groupe dans lequel il faut enlever l'étudiant - * @param e l'étudiant à enlever - * - * @throws java.lang.NullPointerException si un argument est null - * @throws java.lang.IllegalStateException g ne contient pas e - * @throws java.lang.IllegalArgumentException la factory ne connaît pas g - */ - public void dropFromGroupe(Groupe g, Etudiant e); - - /** - * permet de retrouver un étudiant à partir d'un String. - * - * NB. dans une version simple il doit s'agir du nom exact. - * dans une version un peu plus complexe, il s'agit des premières lettres du nom - * dans une version avancée, on peut autoriser une expression régulière plus ou moins complexe qui est générée si la première recherche n'a pas renvoyé de candidat. - * - * @param String nomEtu le nom approximmatif de l'étudiant - * @return Set l'ensemble des étudiants connus de la factory ayant un nom "proche" de ce string au sens de la remarque ci-dessus. - * - * @throws java.lang.NullPointerException si le String est null. - */ - public Set getEtudiantFromId(String nomEtu); - - /** - * permet de retrouver les groupes d'un étudiant. - * - * @param Etu un étudiant - * @return Etudiant l'étudiant connu de la factory ayant cet identifiant - * - * @throws java.lang.NullPointerException si le String est null. - */ - public Set getGroupesOfEtudiant(Etudiant etu); - - - -} diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/Changement.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/Changement.java~ deleted file mode 100644 index f345ad0..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/Changement.java~ +++ /dev/null @@ -1,85 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.API; -import java.util.*; -/** - * Un groupe - */ - -public interface Groupe extends MonPrint { - - /** - * permet de récupérer l'identifiant d'un groupe (référence interne sans intérêt irl). - * @return l'identifiant. - */ - public int getId(); - - /** - * permet de récupérer le nom d'un groupe (utile irl). - * @return le nom. - */ - public String getName(); - - /** - * permet de récupérer le nombre minimum d'étudiants souhaités dans le groupe. - * @return le minimum souhaité - */ - public int getMin(); - - /** - * permet de récupérer le nombre maximum d'étudiants souhaités dans un groupe. - * @return le maximum souhaité - */ - public int getMax(); - - /** - * permet de récupérer le nombre d'étudiants dans ce groupe. - * @return le nombre de places prises (pas forcément limité entre Min et Max, mais c'est le but) - */ - public int getSize(); - - /** - * permet de récupérer la nature du groupe - * @return le type du groupe - */ - public TypeGroupe getType(); - - /** - * permet de récupérer le groupe père - * un groupe racine devrait retourner lui-même - * - * @return le père - */ - public Groupe getPointPoint(); - - /** - * Potentiellement "vide" - * @return un itérateur sur sous-groupes. - */ - public Iterator getSousGroupes(); - - /** - * Potentiellement "vide" - * @return un itérateur sur les étudiants. - */ - public Iterator getEtudiants(); - - /** - * @see MonPrint - * NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici. - * - * NB2. On ne peut pas utiliser le toString de Objects - * https://stackoverflow.com/questions/24016962/java8-why-is-it-forbidden-to-define-a-default-method-for-a-method-from-java-lan - */ - public default String monPrint() { - StringBuilder sb = new StringBuilder(); - sb.append("Groupe " + getName() + " (" getType() +", capacité " + getMin() + " à " + getMax() +", id " + getId()+")"); - Iterator i = getEtudiants(); - sb.append("%n"); - while (i.hasNext()){ - Etudiant s = i.next(); - sb.append(s.toString()); - sb.append("%n"); - } - return sb.toString(); - } - -} diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/Etudiant.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/Etudiant.java~ deleted file mode 100644 index e7334a6..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/Etudiant.java~ +++ /dev/null @@ -1,33 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.API; -/** - * Un étudiant - */ - -public interface Etudiant extends MonPrint{ - - /** - * permet de récupérer l'identifiant de l'étudiant (qu'on suppose être le même pour les différents systèmes, internes et externes à l'hôtel). - * @return l'identifiant. - */ - public int getId(); - - /** - * permet de récupérer - * @return le nom de l'étudiant. - */ - public String getNom(); - - /** - * permet de récupérer - * @return le prénom de l'étudiant - */ - public String getPrenom(); - - /** - * @see MonPrint - * NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici. - */ - public default String monPrint() { - return String.format("Nom " + getNom() + " Prenom " + getPrenom() + " (id="+getId()+")"); - } -} diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/Groupe.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/Groupe.java~ deleted file mode 100644 index 417c779..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/Groupe.java~ +++ /dev/null @@ -1,115 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.API; -import java.util.*; -/** - * Un groupe - */ - -public interface Groupe extends MonPrint { - /** - * Ajoute un étudiant. Se comporte comme add de l'interface Set. - * - * @return true iff e est ajouté - */ - public boolean addEtudiant(Etudiant e); - - /** - * Enlève un étudiant. Se comporte comme remove de l'interface Set. - * - * @return true iff e est enlevé - */ - boolean removeEtudiant(Etudiant e); - - /** - * Ajoute un sous-groupe. Se comporte comme add de l'interface Set. - * vérifie que le groupe passé en argument a bien renseigné this comme son père. - * - * @return true iff g est ajouté - */ - public boolean addSousGroupe(Groupe g); - - /** - * Enlève un groupe. Se comporte comme remove de l'interface Set. - * - * @return true iff e est enlevé - */ - public boolean removeSousGroupe(Groupe g); - - /** - * permet de récupérer l'identifiant d'un groupe (référence interne sans intérêt irl). - * @return l'identifiant. - */ - public int getId(); - - /** - * permet de récupérer le nom d'un groupe (utile irl). - * @return le nom. - */ - public String getName(); - - /** - * permet de récupérer le nombre minimum d'étudiants souhaités dans le groupe. - * @return le minimum souhaité - */ - public int getMin(); - - /** - * permet de récupérer le nombre maximum d'étudiants souhaités dans un groupe. - * @return le maximum souhaité - */ - public int getMax(); - - /** - * permet de récupérer le nombre d'étudiants dans ce groupe. - * @return le nombre de places prises (pas forcément limité entre Min et Max, mais c'est le but) - */ - public int getSize(); - - /** - * permet de récupérer la nature du groupe - * @return le type du groupe - */ - public TypeGroupe getType(); - - /** - * permet de récupérer le groupe père - * un groupe racine devrait retourner lui-même - * - * @return le père - */ - public Groupe getPointPoint(); - - /** - * Potentiellement "vide" - * @return l'ensemble des sous-groupes. - */ - public Set getSousGroupes(); - - /** - * Potentiellement "vide" - * @return l'ensemble des étudiants. - */ - public Set getEtudiants(); - - /** - * @see MonPrint - * NB. On n'utilise le mécanisme des méthodes par défaut pour donner du code dans une interface. C'est un petit peu laid et à contre-emploi mais pratique ici. - * - * NB2. On ne peut pas utiliser le toString de Objects - * https://stackoverflow.com/questions/24016962/java8-why-is-it-forbidden-to-define-a-default-method-for-a-method-from-java-lan - */ - public default String monPrint() { - StringBuilder sb = new StringBuilder(); - sb.append("Groupe " + getName() + " (" + getType() + ", capacité " + getMin() + " à " + getMax() +", id " + getId()+")"); - sb.append("\n"); - // NB. getEtudiants() retourne un Set qui étend Iterable - // On peut utiliser les mécanismes de boucle "moderne" de puis la version 8 - // pour se faciliter la vie quand le traitement est assez simple - // voir https://docs.oracle.com/javase/8/docs/technotes/guides/language/foreach.html - for (Etudiant s: getEtudiants()){ - sb.append("\t"+ s.monPrint()); - sb.append("\n"); - } - return sb.toString(); - } - -} diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/MonPrint.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/MonPrint.java~ deleted file mode 100644 index e5fafae..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/MonPrint.java~ +++ /dev/null @@ -1,7 +0,0 @@ -public interface MonPrint{ - - /** - * Fonctionne comme ToPrint() sauf car une interface n'a pas le droit de faire un override sur ToPrint(); - */ - public String monPrint(); -} diff --git a/src/fr/iutfbleau/projetIHM2022FI2/API/TypeGroupe.java~ b/src/fr/iutfbleau/projetIHM2022FI2/API/TypeGroupe.java~ deleted file mode 100644 index 902843e..0000000 --- a/src/fr/iutfbleau/projetIHM2022FI2/API/TypeGroupe.java~ +++ /dev/null @@ -1,10 +0,0 @@ -package fr.iutfbleau.projetIHM2022FI2.API; -public enum TypeGroupe { - ROOT ("Tous les étudiants"), PARTITION ("partitionable"), FREE ("libre") ; - - private final String name; - - private TypeGroupe(String s) { - name = s; - } -}