public class AbstractGroupeFactoryNP extends java.lang.Object implements AbstractGroupeFactory
Constructor and Description |
---|
AbstractGroupeFactoryNP(javax.swing.JFrame fenetre)
Le constructeur fabrique le groupe promotion déja plein (utilisé en Modèle persistant de donné).
|
AbstractGroupeFactoryNP(java.lang.String name,
int min,
int max,
javax.swing.JFrame fenetre)
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.
|
boolean |
changeNameGroupe(Groupe g,
java.lang.String name)
pemet de changer le nom d'un groupe dans la base de données
|
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.
|
Groupe |
refreshALL(Groupe g)
refresh le Groupe ainsi que ses etudiants
|
public AbstractGroupeFactoryNP(javax.swing.JFrame fenetre)
fenetre
- fenetre principalepublic AbstractGroupeFactoryNP(java.lang.String name, int min, int max, javax.swing.JFrame fenetre)
fenetre
- fenetre principalename
- nom de la promotionmin
- le nombre minimum d'étudiants dans la promotionmax
- le nombre maximum d'étudiants dans la promotionpublic java.lang.Boolean knows(Groupe g)
knows
in interface AbstractGroupeFactory
g
- le groupe à testerpublic boolean changeNameGroupe(Groupe g, java.lang.String name)
changeNameGroupe
in interface AbstractGroupeFactory
g
- le groupe dont on veut changer le nomname
- le nouveau nompublic Groupe getPromotion()
getPromotion
in interface AbstractGroupeFactory
public void deleteGroupe(Groupe g)
deleteGroupe
in interface AbstractGroupeFactory
g
- le groupe à supprimerjava.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.public Groupe refreshALL(Groupe g)
refreshALL
in interface AbstractGroupeFactory
g
- le groupe