UJO Framework offers a special architecture of beans different from conventional JavaBeans. The useful features are XML persistence of an object tree, simple introspection, easy collaboration with Swing tables, and very light weight.
Information regarding Project Releases and Project Resources. Note that the information here is a quote from Freecode.com page, and the downloads themselves may not be hosted on OSDN.
A new UjoMiddle interface extends the Ujo interface with four methods (set, get, setText, and getText). A new MapImplUjo class implements the Map interface.
XML body element values are supported by a new annotation, @XmlElementBody. Text serialization of lists of simple objects is now supported (e.g. List<Integer>) along with text serialization of the java.sql.Date type. The UjoProperty interface has new methods for sorting direction: isAscending() and descending().
Performance was improved. For example, a deserialization ArrayUjo is about 35% faster compared to JAXB. The new UjoProperty.isDefault(UJO) method indicates whether a parameter value of the ujo is "equal to" the property's default value. The new UjoProperty.isTypeOf(Class) method returns true if a property type is a type (or subtype) of the parameter. The new UjoPropertyRow.P_INDEX property shows a property index. The Ujo.readProperties(..) method returns the result properties in a natural order in case the properties were built by a default newProperty() method. Text reading from a PathProperty was fixed.
There are three new Ujo implementations for different purposes. FactoryUjo is a factory to create new instances by property type. The special parameter constructor is supported, as well as no parameter constructor. RegistrarUjo allows one to register the PropertyChangeListener for a selected property and an action (before or after) value change. FieldUjo provides access to private object fields by UjoProperty. All implementations are in a different package structure, and will not be in the core in the future.
The PathProperty class was added for a composition of several UjoProperties. Charset is supported by a UjoManager object. The UjoProperty implements CharSequence for easy access to the Name property. The ListProperty class, which extends UjoPropertyList was created for ArrayList property implementations. The UjoPropertyList.removeItem(UJO, ITEM) method was added. The SuperUjoExt.remove(UjoPropertyList, ITEM) method was added. Small bugs were fixed. New JUnit tests were added.