|
Page 1 of 2
SCBCD Study Notes : Chapter 5 : Client View of an Entity (Part 2)
Please find the Study Notes and resources which covers the 2nd Part of Chapter 5 : Client View of an Entity, as part of the Sun Certified Business Component Developer exam CX-310-090.
5. Identify the use, syntax, and behavior of, the following entity bean home method types, for Container-Managed Persistence (CMP); finder methods, create methods, remove methods, and home methods.
Chapter 5 : Client View of an Entity (Part 2)
Identify the use, syntax, and behavior of, the following entity bean home method types, for Container-Managed Persistence (CMP); finder methods, create methods, remove methods, and home methods.
REMOTE view CMP Entity EJB
An entity bean’s remote home interface defines ONE (AT LEAST findByPrimaryKey(pKey)) or MORE finder methods, one for each way to find an entity object or collection of entity objects within the home. The name of each finder method starts with the prefix “find”,
The return type of a finder method on the REMOTE HOME interface must be the entity bean’s REMOTE interface, or a type representing a collection (java.util.Collection or java.util.Set) of objects that implement the entity bean’s REMOTE interface.
The throws clause of EVERY finder method on the remote home interface includes the java.rmi.RemoteException and the javax.ejb.FinderException.
The following example shows the findByPrimaryKey method:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public interface AccountHome extends javax.ejb.EJBHome { ;;;;;;;;;;;;;;;;;;;;;
... ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public Account findByPrimaryKey(String AccountNumber) ;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;throws RemoteException, FinderException; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AccountHome = ...; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Account account = accountHome.findByPrimaryKey(“100-3450-3333”); ;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
An entity bean’s remote home interface can define ZERO or MORE create< METHOD >(...) methods. The arguments of the create methods are typically used to initialize the state of the created entity object. The name of each create method starts with the prefix “create”.
The RETURN type of a create< METHOD > method on the REMOTE HOME interface is the entity bean’s REMOTE interface.
The throws clause of EVERY create< METHOD > method on the REMOTE home interface includes the java.rmi.RemoteException and the javax.ejb.CreateException. It MAY include additional application-level exceptions.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public interface AccountHome extends javax.ejb.EJBHome {;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;public Account create(String firstName, String lastName,;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;double initialBalance);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;throws RemoteException, CreateException;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;public Account create(String accountNumber,;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;double initialBalance);;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;throws RemoteException, CreateException,;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;LowInitialBalanceException;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;public Account createLargeAccount(String firstname,;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;String lastname, double initialBalance);;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;throws RemoteException, CreateException;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;...;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AccountHome accountHome = ...; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Account account = accountHome.create(“John”, “Smith”, 500.00); ;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
The javax.ejb.EJBHome interface defines several methods that allow the client to REMOVE an entity object.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
public interface EJBHome extends Remote {;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;void remove(Handle handle) throws RemoteException,;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;RemoveException;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;void remove(Object primaryKey) throws RemoteException,;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;RemoveException;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
After an entity object has been removed, subsequent attempts to access the entity object by a remote client result in the java.rmi.NoSuchObjectException.
An entity bean’s remote home interface MAY define one or more HOME METHODS. Home methods are methods that the bean provider supplies for business logic that is NOT SPECIFIC to an entity bean instance. They MUST NOT start with “create”, “find”, or “remove”. The method arguments and return value types of a home method on the remote home interface MUST be legal types for RMI-IIOP.
The throws clause of EVERY home method on the remote home interface includes the java.rmi.RemoteException. It may also include additional application-level exceptions.
;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;
public interface EmployeeHome extends javax.ejb.EJBHome {;;;;;;;;;;;;;;;;;;;;;
;;;;;; ...;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; // this method returns a living index depending on;;;;;;;;;;;;;;;;;;;;;
;;;;;; // the state and the base salary of an employee:;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; // the method is not specific to an instance;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; public float livingIndex(String state, float Salary);;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;; throws RemoteException;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; // this method adds a bonus to all of the employees;;;;;;;;;;;;;;;;;;;;
;;;;;; // based on a company profit-sharing index;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; public void addBonus(float company_share_index);;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;; throws RemoteException, ShareIndexOutOfRangeException;;;;;;;;;;;;
;;;;;; ...;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;;;;;; ;
|