/*
 * Generated by XDoclet - Do not edit!
 */
package test.interfaces;

/**
 * Remote interface for Account.
 * @xdoclet-generated at 16-04-05
 * @copyright The XDoclet Team
 * @author XDoclet
 * @version 1.2.3
 */
public interface Account
   extends javax.ejb.EJBObject
{
   /**
    * Id of this account. This is not remote since the primary key can be extracted by other means.
    */
   public java.lang.Integer getId(  )
      throws java.rmi.RemoteException;

   /**
    * Deposit money.
    */
   public void deposit( float amount )
      throws java.rmi.RemoteException;

   /**
    * Withdraw money.
    */
   public void withdraw( float amount )
      throws java.rmi.RemoteException;

   /**
    * Owner of this account.
    */
   public test.interfaces.Customer getOwner(  )
      throws java.rmi.RemoteException;

   /**
    * Balance of the account.
    */
   public float getBalance(  )
      throws java.rmi.RemoteException;

   /**
    * Generated bulk accessor. This is set as remote to allow clients to get all data in one call.
    */
   public test.interfaces.AccountData getData(  )
      throws java.rmi.RemoteException;

   public test.interfaces.AccountValue getAccountValue(  )
      throws java.rmi.RemoteException;

   public void setAccountValue( test.interfaces.AccountValue value )
      throws java.rmi.RemoteException;

   /**
    * This is to get the unknown primary key. We just get the primary key from the entity context and cast it to the "known" class.
    */
   public java.lang.Integer getGeneratedPrimaryKey(  )
      throws java.rmi.RemoteException;

   /**
    * The creation-date of the entity. This field is purely to track when this entity was created, and should be set in ejbCreate (<code>setCreationDate(new Date());</code>. It is not included in the value object. <p>We use the qualified name here because XDoclet doesn't copy imports from base classes into the generated interfaces.</p>
    */
   public java.util.Date getCreationDate(  )
      throws java.rmi.RemoteException;

   public void setCreationDate( java.util.Date creationDate )
      throws java.rmi.RemoteException;

}
