Package server.bank

Source Code of server.bank.bankImplementation

package server.bank;

import java.util.Vector;
import IE.Iona.OrbixWeb._CORBA;
import org.omg.CORBA.SystemException;

import shared._bankOperations;
import shared.bankPackage.*;
import shared.account;
import shared.currentAccount;
import shared._tie_account;
import shared._tie_currentAccount;

/**
* The bank implementation class.
* The bank can create accounts or current accounts and maintains a
* Vector of all accounts created.
*/
class bankImplementation implements _bankOperations {

    public bankImplementation () throws SystemException{
      super();
    }

    /**
     * Internal record() operation used to add new accounts to the Vector
     */
    void record(String name, accountImplementation p) {
      AccList.addElement(p);
      nameList.addElement(name);
    }

    /**
     * newAccount() creates a new account and adds it to the account Vector.
     */
    public account newAccount(String name) throws reject {

      System.out.println("Creating Account for " + name);

      accountImplementation accImpl = null;

      if(nameList.contains(name))
  throw new reject("Duplicate name "+name);

      try {
           accImpl = new accountImplementation(0,name);
          }
           catch (SystemException se)
     {
                  System.out.println("Exception : " + se.toString());
                 }
      account acc = new _tie_account(accImpl);
    record(name , accImpl);
    return acc;
  }

  /**
   * newCurrentAccount() creates a new current account and adds it to the
   * account Vector.
   */
    public currentAccount newCurrentAccount(String name, float limit) throws reject {
      System.out.println("Creating current account for "+name);
      currentAccountImpl currImpl = null;

      if(nameList.contains(name))
  throw new reject("Duplicate name "+name);      

      try {
           currImpl = new currentAccountImpl(0,name,limit);
          }
           catch (SystemException se)
     {
             System.out.println("Exception : " + se.toString());
           }
      currentAccount currAcc = new _tie_currentAccount(currImpl);
      record(name, currImpl);
      return currAcc;
    }

    public void deleteAccount(account a) {
    try {
      //     nameList.removeElement(((currentAccountImpl)(a._deref())).get_name());
      //AccList.removeElement((currentAccountImpl)(a._deref()));
     nameList.removeElement(((accountImplementation)(a._deref())).get_name());
     AccList.removeElement((accountImplementation)(a._deref()));
     _CORBA.Orbix.dispose(a);
    } catch (Exception ex) { System.out.println("****" + ex); };

    }

  Vector AccList = new Vector();         // Account Object list.
  Vector nameList = new Vector()//name list
}
TOP

Related Classes of server.bank.bankImplementation

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.