You may want to search object ValueObject
pattern on google. You'll find a lot of good articles explaining this. However, the basic idea is this:
Value Objects are basically used to transport multiple values at one go between the client and the server. The point is that making such objects mutable gives the client a false sense of manipulating the data. Value Object is just a local object, when you call a setter on a ValueObject, it does not mean anything on the server side. It's just the local object that you are modifying.
Value Objects are almost always read only and this should also reflect through it's implementation by making it immutable.
HTH,
Paul.
------------------
SCJP2, SCWCD Resources, Free Question A Day, Mock Exam Results and More!
www.jdiscuss.com Get Certified, Guaranteed!
JQPlus - For SCJP2 JWebPlus - For SCWCD JDevPlus - For SCJD