
import java.rmi.*;
import java.rmi.server.*;

/* Accessing a remote account on a client and 
   depositing argument value into account */
public class BankAccountMonitorImpl 
    extends UnicastRemoteObject
    implements BankAccountMonitor
{
  public BankAccountMonitorImpl() throws RemoteException {
    super();
  }

  public static void main(String[] args){
    try {
      // lookup account
      String url = "rmi://localhost:1972/account1";
      BankAccount acct = (BankAccount) Naming.lookup(url);
      BankAccountMonitorImpl monitor = new BankAccountMonitorImpl();
      acct.addMonitor(monitor);
    } catch (Exception e){
      System.out.println("Account access error: " + e);
    }
  }

    public void lowBalance(float balance){
	System.out.println("Balance is low: "+balance);
    }
}
