package ex3_livraison;

import java.util.ArrayList;

public class CommandeObservable {
    private String code;
    private String etat;
    private ArrayList<ObservateurCommande> observateurs;

    public CommandeObservable(String code) {
        this.code = code;
        this.etat = "EN_ATTENTE";
        this.observateurs = new ArrayList<>();
    }

    public void ajouterObservateur(ObservateurCommande observateur) {
        /*
         * PSEUDO-CODE :
         * 1. Ajouter l'observateur dans la liste observateurs.
         */
    }

    public void changerEtat(String nouvelEtat) {
        /*
         * PSEUDO-CODE :
         * 1. Modifier l'attribut etat avec nouvelEtat.
         * 2. Appeler notifierObservateurs().
         */
    }

    private void notifierObservateurs() {
        /*
         * PSEUDO-CODE :
         * 1. Parcourir tous les observateurs.
         * 2. Pour chaque observateur :
         *    appeler recevoirNotification(etat).
         */
    }
}
