package modelview;
public class View implements Model.Listener {
private Model mDataModel;
private boolean mFrozen = false;
public View(Model dataModel) {
mDataModel = dataModel;
System.out.println("Registering view in data model");
dataModel.registerListener(this);
}
synchronized void freeze() {
if (!mFrozen) {
System.out.println("Freezing view");
mDataModel.unregisterListener(this);
mFrozen = true;
}
}
synchronized void thaw() {
if (mFrozen) {
System.out.println("Thawing view");
mDataModel.registerListener(this);
mFrozen = false;
}
}
synchronized public void modelUpdated() {
// ...
}
}