public class AbstractChangementFactoryNP extends java.lang.Object implements AbstractChangementFactory
Constructor and Description |
---|
AbstractChangementFactoryNP(AbstractGroupeFactory agf)
Constructeur de l'usine à changement.
|
Modifier and Type | Method and Description |
---|---|
void |
applyChangement(Changement c)
permet de mettre en oeuvre un changement connu de l'usine abstraite.
|
void |
createChangement(Groupe A,
Etudiant e,
Groupe B)
permet d'ajouter un nouveau changement.
|
void |
createChangement(Groupe A,
Etudiant e,
Groupe B,
java.lang.String raison)
permet d'ajouter un nouveau changement.
|
void |
deleteChangement(Changement c)
permet de supprimer un changement connu de l'usine abstraite.
|
java.util.Set<Changement> |
getAllChangements()
permet de récupérer les changements
|
AbstractGroupeFactory |
getGroupeFactory()
permet de récupérer l'usine abstraite pour les groupes qui fonctionne en tandem avec cette usine abstraite
|
public AbstractChangementFactoryNP(AbstractGroupeFactory agf)
agf
- l'usine à groupe travaillant en tandem avec cette usine.public AbstractGroupeFactory getGroupeFactory()
getGroupeFactory
in interface AbstractChangementFactory
public java.util.Set<Changement> getAllChangements()
getAllChangements
in interface AbstractChangementFactory
public void applyChangement(Changement c)
applyChangement
in interface AbstractChangementFactory
c
- le changement à mettre en oeuvre.java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalStateException
- si le changement n'a pas de sens en l'état actuel (e.g. étudiant pas dans le groupe de départ a, groupe b inconnu, groupe a inconnu, etc).java.lang.IllegalArgumentException
- si inconnu de l'usine abstraitepublic void deleteChangement(Changement c)
deleteChangement
in interface AbstractChangementFactory
c
- le changement à supprimer.java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si inconnu de l'usine abstraitepublic void createChangement(Groupe A, Etudiant e, Groupe B)
createChangement
in interface AbstractChangementFactory
A
- groupe actuelB
- groupe demandée
- étudiant concerné par le changementjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si les groupes ou l'étudiant ne sont pas connus de la factory partenaire, ou e n'appartient pas à A ou A et B ne sont pas frères dans l'arbre des groupes.public void createChangement(Groupe A, Etudiant e, Groupe B, java.lang.String raison)
createChangement
in interface AbstractChangementFactory
A
- groupe actuelB
- groupe demandée
- étudiant concerné par le changementraison
- la raison du changementjava.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si les groupes ou l'étudiant ne sont pas connus de la factory partenaire, ou e n'appartient pas à A ou A et B ne sont pas frères dans l'arbre des groupes.