This class provides a trivial domain object for the sample application. It represents a simple Contact entry in a personal address book. It is not very useful in that it only allows a single address for an individual and it doesn't support arbitrary contact data, just predefined fields. However, since we're not going into the Address Book business, this will suffice for demonstration purposes in this sample application.
This class makes use of one subordinate (or nested) object in order to show how nested property paths can be used in forms. It doesn't really serve any other great design need.
The validation rules for this class are provided externally, by {@link SimpleValidationRulesSource}. This configuration is often required when you don't have any mechanism to extend the domain object directly, or for other design reasons, don't want to include the validation rules directly in the domain object implementation.
@author Larry Streepy
@see SimpleValidationRulesSource