Package MNP

Class AbstractChangementFactoryNP

    • Constructor Detail

    • Method Detail

      • applyChangement

        public void applyChangement​(Changement c)
        permet de mettre en oeuvre un changement connu de l'usine abstraite.
        Specified by:
        applyChangement in interface AbstractChangementFactory
        Throws:
        java.lang.NullPointerException - si un argument est null
        java.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 interface AbstractChangementFactory
        Throws:
        java.lang.NullPointerException - si un argument est null
        java.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 interface AbstractChangementFactory
        Parameters:
        A - groupe actuel
        B - groupe demandé
        e - étudiant concerné par le changement
        Throws:
        java.lang.NullPointerException - si un argument est null
        java.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.