public interface AbstractGroupeFactory
Modifier and Type | Method and Description |
---|---|
void |
addToGroupe(Groupe g,
Etudiant e)
permet d'ajouter un étudiant à un groupe.
|
boolean |
changeNameGroupe(Groupe g,
java.lang.String name)
Ajout a l'API pour changer facilement de nom de groupe
|
void |
createGroupe(Groupe pere,
java.lang.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,
java.lang.String name,
int n)
permet de créer une partition automatiquement sous un groupe donné.
|
void |
deleteGroupe(Groupe g)
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.
|
java.util.Set<Etudiant> |
getEtudiants(java.lang.String nomEtu)
permet de retrouver un étudiant à partir d'un String.
|
java.util.Set<Groupe> |
getGroupesOfEtudiant(Etudiant etu)
permet de retrouver les groupes d'un étudiant.
|
Groupe |
getPromotion()
permet de récupérer le Groupe qui contient les étudiants de toute la promotion
|
java.lang.Boolean |
knows(Groupe g)
Test si le groupe g est connu de l'usine (connu maintenant).
|
Groupe |
refreshALL(Groupe g)
refresh le Groupe ainsi que ses etudiants
|
Groupe getPromotion()
java.lang.Boolean knows(Groupe g)
void deleteGroupe(Groupe g)
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- si le groupe contient des groupesjava.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)void createGroupe(Groupe pere, java.lang.String name, int min, int max)
pere
- le groupe père du groupe à créername
- le nom du groupe à créermin,max
- bornes indicatives sur la taille du groupe à créerjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si le groupe pere est de type PARTITION
ou si il n'y a pas 0 < min <= maxvoid createPartition(Groupe pere, java.lang.String name, int n)
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 partitionsjava.lang.NullPointerException
- si un argument est nulljava.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.void addToGroupe(Groupe g, Etudiant e)
g
- le groupe dans lequel il faut ajouter l'étudiante
- l'étudiant à ajouterjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- la factory ne connaît pas gjava.lang.IllegalStateException
- le père de g ne contient pas evoid dropFromGroupe(Groupe g, Etudiant e)
g
- le groupe dans lequel il faut enlever l'étudiante
- l'étudiant à enleverjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- g ne contient pas ejava.lang.IllegalArgumentException
- la factory ne connaît pas gjava.util.Set<Etudiant> getEtudiants(java.lang.String nomEtu)
String
- nomEtu le nom approximmatif de l'étudiantjava.lang.NullPointerException
- si le String est null.java.util.Set<Groupe> getGroupesOfEtudiant(Etudiant etu)
Etu
- un étudiantjava.lang.NullPointerException
- si le String est null.boolean changeNameGroupe(Groupe g, java.lang.String name)
g
- le groupename
- le nom