01 package fr.isae.observer;
02
03 import java.util.ArrayList;
04
05 /**
06 * <code>Observable</code> est une classe representant un type
07 * d'objets pouvant prevenir d'autres objets d'une mise a jour de
08 * son etat.
09 *
10 * @author <a href="mailto:garion@isae.fr">Christophe Garion</a>
11 * @version 1.0
12 */
13 public class Observable {
14
15 private ArrayList<Observateur> obs;
16
17 /**
18 * Creer un nouvel observable avec une liste d'observateurs vide.
19 */
20 public Observable() {
21 this.obs = new ArrayList<Observateur>();
22 }
23
24 /**
25 * <code>inscrire</code> permet d'ajouter un observateur a la
26 * liste des observateurs de l'objet.
27 *
28 * @param o un <code>Observateur</code> a ajouter
29 */
30 public void inscrire(Observateur o) {
31 this.obs.add(o);
32 }
33
34 /**
35 * <code>annuler</code> permet de retirer un observateur de la
36 * liste des observateurs de l'objet.
37 *
38 * @param o un <code>Observateur</code> a retirer
39 */
40 public void annuler(Observateur o) {
41 this.obs.remove(o);
42 }
43
44 /**
45 * <code>avertir</code> permet d'avertir tous les observateurs
46 * de l'objet d'une mise a jour.
47 *
48 */
49 protected void avertir() {
50 for (Observateur o : this.obs) {
51 o.miseAJour();
52 }
53 }
54 }
|