public class AbstractGroupeFactoryNP extends java.lang.Object implements AbstractGroupeFactory
Constructor and Description |
---|
AbstractGroupeFactoryNP(java.lang.String name,
int min,
int max)
Le constructeur fabrique le groupe promotion vide.
|
Modifier and Type | Method and Description |
---|---|
void |
addToGroupe(Groupe g,
Etudiant e)
permet d'ajouter un étudiant à un 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 plutôt optimiste.
|
public AbstractGroupeFactoryNP(java.lang.String name, int min, int max)
public java.lang.Boolean knows(Groupe g)
knows
in interface AbstractGroupeFactory
public Groupe getPromotion()
getPromotion
in interface AbstractGroupeFactory
public void deleteGroupe(Groupe g)
deleteGroupe
in interface AbstractGroupeFactory
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)public void createGroupe(Groupe pere, java.lang.String name, int min, int max)
createGroupe
in interface AbstractGroupeFactory
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 <= maxpublic void createPartition(Groupe pere, java.lang.String name, int n)
createPartition
in interface AbstractGroupeFactory
pere
- le groupe père du groupe à partitionnername
- le nom des groupe à créer (on ajoute à la suite un numéro de 1 à n pour distinguer chaque groupe formant la partition)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.public void addToGroupe(Groupe g, Etudiant e)
addToGroupe
in interface AbstractGroupeFactory
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 epublic void dropFromGroupe(Groupe g, Etudiant e)
dropFromGroupe
in interface AbstractGroupeFactory
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 gpublic java.util.Set<Etudiant> getEtudiants(java.lang.String nomEtu)
getEtudiants
in interface AbstractGroupeFactory
String
- nomEtu le nom approximmatif de l'étudiantjava.lang.NullPointerException
- si le String est null.public java.util.Set<Groupe> getGroupesOfEtudiant(Etudiant etu)
getGroupesOfEtudiant
in interface AbstractGroupeFactory
Etu
- un étudiantjava.lang.NullPointerException
- si le String est null.