import java.util.*;
/**
* The "Model" i.e., the Account information
*/
public class Model extends Observable { //*1 Our superclass
/**
* The data we hold
*/
private String name; //*2 The data we hold
private int balance; //*2
public Model (String name, int balance) {
this.name = name; //*2
setBalance (balance); //*2
}
public void withdraw (int amount) { //*3 Update our data
setBalance (balance - amount); //*3
}
public void deposit (int amount) { //*3
setBalance (balance + amount); //*3
}
/**
* Set our balance -- and then we notify our Observers
*/
private void setBalance (int balance) { //*3
this.balance = balance; //*3
// Must call this before notifyObservers()
setChanged(); //*4 Tell our observers
// Tells any Observers we have that we have changed
notifyObservers(); //*4
}
public int getBalance () { //*5 Observer queries us
return balance; //*5
}
public String getName () {
return name;
}
}