Model.java 842 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import java.util.*;
  2. public class Model {
  3. /** The observers that are watching this model for changes. */
  4. private List<Observer> observers;
  5. /**
  6. * Create a new model.
  7. */
  8. public Model() {
  9. this.observers = new ArrayList();
  10. }
  11. /**
  12. * Add an observer to be notified when this model changes.
  13. */
  14. public void addObserver(Observer observer) {
  15. this.observers.add(observer);
  16. }
  17. /**
  18. * Remove an observer from this model.
  19. */
  20. public void removeObserver(Observer observer) {
  21. this.observers.remove(observer);
  22. }
  23. /**
  24. * Notify all observers that the model has changed.
  25. */
  26. public void notifyObservers() {
  27. for (Observer observer: this.observers) {
  28. observer.update(this);
  29. }
  30. }
  31. }