package ejava.examples.personnel.ejb20;

import ejava.examples.personnel.Person;
import java.rmi.RemoteException;

/** 
   This interface provides a definition of the remote business methods for a
   Person object. This interface represents the methods that are shared
   between the PersonRemote and PersonEJB interface/classes. The PersonRemote 
   interface extends this and the EJBObject interface to satisfy the
   requirements of the remote component interface. PersonEJB implements this
   and the EntityBean interface to satisfy the requirements of the entity
   bean class. Note that the entity bean should not implement the component
   interface directly. Doing so would possibly expose the entity bean class
   to direct client access (rather than indirect client access through the
   container).<p>

   Note also that the business methods in the remote interface are designed
   for bulk-access to cut down the number of round-trips to the server.
*/
public interface PersonBI {
      /** returns a bulk-state snapshot of the Person object */
   Person getValues() throws RemoteException;

      /** sets the values of the person, except id, in a single call */
   void setValues(Person values) throws RemoteException;
}
