Passing Objects by Value
Passing objects by valueis tricky with Enterprise JavaBeans. Two simple rules will keep you out of most problem areas: objects that are passed by value should be fine-grained dependent objects or wrappers used in bulk accessors, and dependent objects should be immutable.
Dependent Objects
Dependent objects are objects that only have meaning within the
context of another business object. They typically represent fairly
fine-grained business concepts, like an address, phone number, or
order item. For example, an address has little meaning when it is not
associated with a business object like Person
or
Organization
. It depends on the context of the
business object to give it meaning. Such an object can be thought of
as a wrapper for related data. The fields that make up an address
(street, city, state, and Zip) should be packaged together in a
single object called Address
. In turn, the
Address
object is usually an attribute or property
of another business object; in EJB, we would typically see an
Address
or some other dependent object as a
property of an entity bean.
Here’s a typical implementation of an
Address
:
public class Address implements java.io.Serializable { private String street; private String city; private String state; private String zip; public Address(String str, String cty, String st, String zp) { street = str; city = cty; state = st; zip = zp; } public String getStreet() {return street;} public String getCity() {return city;} public String getState() ...
Get Enterprise JavaBeans, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.