Package API

Interface AbstractChangementFactory

All Known Implementing Classes:
AbstractChangementFactoryNP

public interface AbstractChangementFactory
Usine abstraite gérant l'ensemble des changements.
  • Method Details

    • getGroupeFactory

      AbstractGroupeFactory getGroupeFactory()
      permet de récupérer une usine abstraite pour les groupes qui fonctionne en tandem avec cette usine abstraite
      Returns:
      cette usine abstraite pour les groupes
    • getAllChangements

      Set<Changement> getAllChangements()
      permet de récupérer les changements
      Returns:
      l'ensemble de tous les changements en attente

      NB. Attention. C'était Iterator dans la version beta.

    • applyChangement

      void applyChangement(Changement c)
      permet de mettre en oeuvre un changement connu de l'usine abstraite. En cas de succès, le changement est oublié (détruit).
      Throws:
      NullPointerException - si un argument est null
      IllegalArgumentException - si inconnu de l'usine abstraite
    • deleteChangement

      void deleteChangement(Changement c)
      permet de supprimer un changement connu de l'usine abstraite.
      Throws:
      NullPointerException - si un argument est null
      IllegalArgumentException - si inconnu de l'usine abstraite
    • createChangement

      void createChangement(Groupe A, Etudiant e, Groupe B)
      permet d'ajouter un nouveau changement.
      Parameters:
      A - groupe actuel
      B - groupe demandé
      e - étudiant concerné par le changement
      Throws:
      NullPointerException - si un argument est null
      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.