AccountCMPBean.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:2k
源码类别:

Java编程

开发平台:

Java

  1. package examples.dualpersistent;
  2. import java.io.Serializable;
  3. import java.util.Enumeration;
  4. import java.util.Vector;
  5. import javax.ejb.*;
  6. import javax.naming.*;
  7. import javax.sql.DataSource;
  8. abstract public class AccountCMPBean implements EntityBean {
  9.   protected EntityContext ctx;
  10.     /**
  11.  * container managed fields
  12.  */
  13. abstract public String getAccountId();
  14. abstract public double getBalance();
  15.     abstract public void setAccountId(String val);
  16. abstract public void setBalance(double val);
  17.     /**
  18.      * Developer implemented Business Methods
  19.      */
  20.     public double balance()
  21.     {
  22.         return getBalance();
  23.     }
  24.     public double deposit(double amount)
  25.     {
  26.          setBalance(getBalance() + amount);
  27.          return getBalance();
  28.     }
  29.     public double withdraw(double amount)
  30.     throws ProcessingErrorException
  31.     {
  32.         if (amount > getBalance())
  33.         {
  34.             throw new ProcessingErrorException("Attempt to withdraw too much");
  35.         }
  36.         setBalance(getBalance() - amount);
  37.         return getBalance();
  38.     }
  39.    public String ejbCreate(String accountId, double initialBalance)
  40.     throws CreateException
  41.    {
  42.        setAccountId(accountId);
  43.        setBalance(initialBalance);
  44.        return null;
  45.    }
  46.    /**
  47.     * Container required methods - implemented by the CMP engine
  48.     */
  49.    public AccountCMPBean() {}
  50.    public void ejbActivate() {}
  51.    public void ejbLoad() {}
  52.    public void ejbPassivate() {}
  53.    public void ejbPostCreate(String accountId,double initialBalance){}
  54.    public void ejbRemove() throws RemoveException {}
  55.    public void ejbStore() {}
  56.    /**
  57.     * The usual Plumbing
  58.     */
  59.    public void setEntityContext(EntityContext ctx)
  60.    {
  61.       this.ctx = ctx;
  62.    }
  63.   public void unsetEntityContext()
  64.   {
  65.       this.ctx = null;
  66.   }
  67. }