Interface AbstractGroupeFactory
- All Known Implementing Classes:
AbstractGroupeFactoryNP
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addToGroupe
(Groupe g, Etudiant e) permet d'ajouter un étudiant à un groupe.void
createGroupe
(Groupe pere, String name, int min, int max) permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné.void
createPartition
(Groupe pere, String name, int n) permet de créer une partition automatiquement sous un groupe donné.void
permet de supprimer un groupe connu de l'usine abstraite qui ne contient pas de groupes.void
dropFromGroupe
(Groupe g, Etudiant e) permet d'enlever un étudiant d'un groupe.getEtudiants
(String nomEtu) permet de retrouver un étudiant à partir d'un String.permet de retrouver les groupes d'un étudiant.permet de récupérer le Groupe qui contient les étudiants de toute la promotionTest si le groupe g est connu de l'usine (connu maintenant).
-
Method Details
-
getPromotion
Groupe getPromotion()permet de récupérer le Groupe qui contient les étudiants de toute la promotion- Returns:
- la promo.
-
knows
Test si le groupe g est connu de l'usine (connu maintenant). Si la réponse est true, les méthodes avec ce groupe en paramètre devraient bien fonctionner. Si la réponse est false, le comportement n'est pas garanti. -
deleteGroupe
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:
NullPointerException
- si un argument est nullIllegalStateException
- si le groupe contient des groupesIllegalArgumentException
- 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)
-
createGroupe
permet d'ajouter un groupe vide de type FREE comme sous-groupe d'un groupe donné.- Parameters:
pere
- le groupe père du groupe à créername
- le nom du groupe à créermin
- ,max bornes indicatives sur la taille du groupe à créer- Throws:
NullPointerException
- si un argument est nullIllegalArgumentException
- si le groupe pere est de type PARTITION ou si il n'y a pas 0 invalid input: '<' min invalid input: '<'= max
-
createPartition
permet de créer une partition automatiquement sous un groupe donné.- Parameters:
pere
- le groupe père du groupe à partitionnername
- le nom des groupe à créer (on ajoutera à la suite un numéro ou une lettre pour distinguer chaque groupe)n
- le nombre de partitions- Throws:
NullPointerException
- si un argument est nullIllegalArgumentException
- si le groupe pere est de type PARTITION ou n négatif ou nulNB. 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.
-
addToGroupe
permet d'ajouter un étudiant à un groupe.- Parameters:
g
- le groupe dans lequel il faut ajouter l'étudiante
- l'étudiant à ajouter- Throws:
NullPointerException
- si un argument est nullIllegalArgumentException
- la factory ne connaît pas gIllegalStateException
- le père de g ne contient pas e
-
dropFromGroupe
permet d'enlever un étudiant d'un groupe.- Parameters:
g
- le groupe dans lequel il faut enlever l'étudiante
- l'étudiant à enlever- Throws:
NullPointerException
- si un argument est nullIllegalStateException
- g ne contient pas eIllegalArgumentException
- la factory ne connaît pas g
-
getEtudiants
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.
- Parameters:
String
- nomEtu le nom approximmatif de l'étudiant- Returns:
- Set
l'ensemble des étudiants connus de la factory ayant un nom "proche" de ce string au sens de la remarque ci-dessus. - Throws:
NullPointerException
- si le String est null.
-
getGroupesOfEtudiant
permet de retrouver les groupes d'un étudiant.- Parameters:
Etu
- un étudiant- Returns:
- Etudiant l'étudiant connu de la factory ayant cet identifiant
- Throws:
NullPointerException
- si le String est null.
-