OOP2

AbstractController.java

1
import java.util.Observable; // This controller must be aware of Observable classes.
2
import java.util.Observer; // Idem for Observers.
3
4
abstract class Controller {
5
6
	// Members
7
	private Observable model;
8
	private Observer view;
9
10
	// Constructor
11
	public Controller(Observable model, Observer view) { 
12
		this.model = model;
13
		this.view = view;
14
	}
15
16
	/**
17
	 * Sets the model for this controller.
18
	 * @param model The model that is to be controlled.
19
	 */
20
	public void setModel(Observable model) {
21
		this.model = model;
22
	}
23
24
	/**
25
	 * Returns the model that is being observed.
26
	 * @return The model being observed.
27
	 */
28
	public Observable getModel() {	
29
		return model;
30
	}
31
32
	/**
33
	 * Sets the view for this controller.
34
	 * @param view The view for this controller.
35
	 */
36
	public void setView(Observer view) {
37
		this.view = view;
38
	}
39
40
	/**
41
	 * Returns the view for this controller.
42
	 * @return The view for this controller.
43
	 */
44
	public Observer getView() {	
45
		return view;
46
	}
47
}
48