File: /Users/shatabdi/Education/GitHub/se450_project/src/model/others/CommandHandler.java

1     // adopted from ObserverDemo, class KeyboardCommandHandler
2     package model.others;
3     
4     import java.util.ArrayList;
5     import java.util.List;
6     
7     import model.interfaces.IObserver;
8     
9     public class CommandHandler {
10     
11     	List<IObserver> observerList = new ArrayList<>();
12     
13     	public void registerObserver(IObserver observer) {
14     		if (!observerList.contains(observer)) {
15     			observerList.add(observer);
16     		}
17     	}
18     
19     	public void removeObserver(IObserver observer) {
20     		observerList.remove(observer);
21     	}
22     
23     	public void notifyObservers() {
24     		for (IObserver observer : observerList) {
25     			observer.update();
26     		}
27     	}
28     
29     	public void clear() {
30     		observerList.clear();
31     	}
32     }
33