Source of BankAccountModel.java


  1: //BankAccountModel.java
  2: //Adapted from an example by Tony Sintes.
  3: //BankAccountModel manages the account's state and behavior.
  4: //Also notifies observers interested in model state changes.

  6: import java.util.Observable;

  8: public class BankAccountModel extends Observable
  9: {
 10:     private double balance;
 11:  
 12:     //Constructor
 13:     public BankAccountModel(double initDeposit)
 14:     {
 15:         setBalance(initDeposit);
 16:     }

 18:     protected void setBalance(double newBalance)
 19:     {
 20:         balance = newBalance;
 21:         notifyObservers();
 22:     }
 23:     
 24:     public double getBalance()
 25:     {
 26:         return balance;
 27:     }

 29:     public void depositFunds(double amount)
 30:     {
 31:         setBalance(getBalance() + amount);
 32:     }

 34:     public void withdrawFunds(double amount)
 35:     {
 36:         if (amount > getBalance()) amount = getBalance();
 37:         setBalance(getBalance() - amount);
 38:     }
 39: }