Package MNP
Class AbstractChangementFactoryNP
- java.lang.Object
-
- MNP.AbstractChangementFactoryNP
-
- All Implemented Interfaces:
AbstractChangementFactory
public class AbstractChangementFactoryNP extends java.lang.Object implements AbstractChangementFactory
Usine abstraite gérant l'ensemble des changements.
-
-
Constructor Summary
Constructors Constructor Description AbstractChangementFactoryNP(AbstractGroupeFactory agf)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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
deleteChangement(Changement c)
permet de supprimer un changement connu de l'usine abstraite.java.util.Set<Changement>
getAllChangements()
permet de récupérer les changementsAbstractGroupeFactory
getGroupeFactory()
permet de récupérer l'usine abstraite pour les groupes qui fonctionne en tandem avec cette usine abstraite
-
-
-
Constructor Detail
-
AbstractChangementFactoryNP
public AbstractChangementFactoryNP(AbstractGroupeFactory agf)
-
-
Method Detail
-
getGroupeFactory
public AbstractGroupeFactory getGroupeFactory()
permet de récupérer l'usine abstraite pour les groupes qui fonctionne en tandem avec cette usine abstraite- Specified by:
getGroupeFactory
in interfaceAbstractChangementFactory
- Returns:
- cette usine abstraite pour les groupes
-
getAllChangements
public java.util.Set<Changement> getAllChangements()
permet de récupérer les changements- Specified by:
getAllChangements
in interfaceAbstractChangementFactory
- Returns:
- l'ensemble de tous les changements en attente
-
applyChangement
public void applyChangement(Changement c)
permet de mettre en oeuvre un changement connu de l'usine abstraite.- Specified by:
applyChangement
in interfaceAbstractChangementFactory
- Throws:
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 abstraite
-
deleteChangement
public void deleteChangement(Changement c)
permet de supprimer un changement connu de l'usine abstraite.- Specified by:
deleteChangement
in interfaceAbstractChangementFactory
- Throws:
java.lang.NullPointerException
- si un argument est nulljava.lang.IllegalArgumentException
- si inconnu de l'usine abstraite
-
createChangement
public void createChangement(Groupe A, Etudiant e, Groupe B)
permet d'ajouter un nouveau changement.- Specified by:
createChangement
in interfaceAbstractChangementFactory
- Parameters:
A
- groupe actuelB
- groupe demandée
- étudiant concerné par le changement- Throws:
java.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.
-
-