Overview
The CDM library itself is devided into several layers, as to provide a seperation of concerns.
Domain Model - cdmlib-model
Domain objects (also called business objects sometimes) are directly taken as POJOs from the CommonDataModel. The logic inherent to the domain objects are restricted to their own object graph, i.e. their own properties and related objects. But not unrelated objects available through DAOs only. Typical logic includes validation and calculations.
Property change support
We have implemented java.bean propertyChangeSupport methods for the entire cdm domain classes to send change events to registered listeners. The TaxonomicEditor makes use of these through a data binding framework. See wiki:JavaResources#DataBinding for more.