The New Generation of Unified Objects
The UJO Framework was essentially extended to version 0.80. Some news are:
- the new interface UjoExt is available for a better comfort to developers. The interface supports for example a chaining of properties or setters
- optimized deserialization of UJO objects, which is now faster as JAXB 2.1.
- simplification of some methods by a new interface UjoAction
UJO Framework provides objects with a different architecture from JavaBeans.
The original idea was a toy with generic data types of Java 5.0 however over time it appears, that the architecture has some exciting features:
- an easy object introspection without a heavy PropertyDescriptor implementation
- a transfer of the UJO properties (not values) by a collection to a method
- the core of the building has two interfaces for an easy implementation
These properties open up new possibilities for the use in the J2EE mainly in a production of generic operations over objects. Framework contains some tools for managing the UJO object in addition. See a short motivational presentation for more information.

You can find a link to a reference application called jWorkSheet on the project home page.
The jWorkSheet is a project time tracker desktop application which uses the architecture UJO objects consistently for all persistent objects.
I welcome all feedback and comments.
Pavel Ponec
- Login or register to post comments
- 1838 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)










Comments
David Beutel replied on Tue, 2008/09/09 - 2:13pm
Interesting alternative to beans. Just looking at the example, could newProperty() use type inferencing?
ponec replied on Wed, 2008/09/10 - 2:17am
in response to: db9366
Yes, the method use it for a simplification, however it is possible to use a standard constructor.
See a JavaDoc of the newProperty() method:
http://ujoframework.org/javadoc/org/ujoframework/implementation/map/MapUjo.html#newProperty(java.lang.String,%20VALUE)