The UJO Framework release notes ******************************* release 0.93 (2010-03-07) + orm: the incremental database update by meta-model using DDL statements + orm: the LIMIT and OFFSET are supported by attributes of the Query + orm: database indexes are created by the meta-model, there are supported unique, non-unique indexes include a composed one + orm: new method to get a foreign key: OrmTable.readPK(property) + orm: checking the SQL keywords + orm: note: database table by the SQL statement: ALTER TABLE ormujo_pk_support RENAME TO ujorm_pk_support; + core: new method to copy value: UjoProperty.copy(from, to) + core: new method to create instance: Criterion.where(condition) + core: the Criterion visualization is improved by the method: Criterion.toString() + code cleaning release 0.92 (2010-01-03) + THE IMPORTANT CHANGE: the method UjoProperty.getValue() replaces the value of null for default - instead of the original method Ujo.readValue() in the previous release! + two UjoProperties can be easily concatenated using the new type safe method add(...) + the base UJO objects support the 'java.io.Serializable' feature - include the OrmTable + code cleaning, extended JavaDoc, small bug fixing + orm: Enum support is done by mapping to a numeric DB type + orm: custom Java type mapping is supported by extending the class TypeService + orm: the new method OrmHandler.findPropertiesByTypeClass(Class) for common use is done + orm: simplified SQL dialect implementations is done include the ORACLE support + orm: a new feature available by method Sesssion.isRollbackOnly() + orm: default value for parameter SEQUENCE_CACHE is 100 (instead of original 64) - orm: reading a null value from ResultSet is fixed - orm: the MySqlDialect if fixed, an explicit use of the engine 'InnoDB' was implemented release 0.91 (2009-09-20) + pesimistic lock implementation for Ujorm + internal Ujorm sequence supports now: Long, Integer, BigInteger, Short, Char + two Criterion operators are done for a user customization in the SQL statement (Ujorm) + Hibernate support is fixed + new static method creates a ListProperty with the default property name + JavaDoc improvements include 'Tutorial in the class' is done + peformance tuning + new benchmark values are released release 0.90 (2009-08-29) + new ORM implementation for databases: PostgreSql, MySql, Derby, H2, HSQLDB, Firebird and Oracle + new implementation QuickUjo can take the Ujo property name from a class field name + new factory methods of UjoProperty implementation + refactoring of the source code release 0.85 (2009-04-20) + new interface UjoMiddle extends the Ujo interface in four methods (set, get, setText, getText) + the original UjoExt interface extends UjoMiddle now + the first Map & Ujo implementation is called MapImplUjo + new annotation @XmlElementBody supports a XML body value now + List serialization of the plain objects is supported (e.g. List) + there is supported a text serialization of the list of simple objects (e.g. List) + text serialization of the type java.sql.Date is supported + interface UjoProperty has new methods for a direction of sorting: isAscending(), descending() + new method UjoPropertyList.isItemTypeOf(Class) tests that property type is a type (or subtype) of the parameter + all 'Super' classes was renamed to the prefix 'Abstract' classes + class PropertyTextable is was renamed to ValueTextable + small bug fixing + JavaDoc completition release 0.84 (2009-03-08) + new method: UjoProperty.isDefault(UJO) indicates whether a parameter value of the ujo "equal to" the property default value + new method: UjoProperty.isTypeOf(Class) returns true if property type is a type (or subtype) of the parameter + new property UjoPropertyRow.P_INDEX shows a property index + method Ujo.readProperties(..) returns the result properties in a natural order in case the properties was builded by a default newProperty() method + text reading from a PathProperty is fixed release 0.831 (2009-01-31) + performance improving: for example a deserialization ArrayUjo is about 36% faster in compare to JAXB release 0.83 (2009-01-29) + UjoCriteria supports a searching for objects in the list + support or the Proxy pattern design of the BeanUjo class + SimpleDateFormat synchronization if fixed release 0.82 (2008-11-23) + there are three new Ujo implementations for different purposes: + FactoryUjo: a factory to creating new instances by a property type, the special parameter constructor is supported as well as no parameter constructor + RegistrarUjo: the implementation allows to register the PropertyChangeListener for selected property and an action (before or after) value change + FieldUjo: the solution provides an access to a private object fields by UjoProperty + all implementations are in a different package structure and they will not in the core in the future release 0.81 (2008-10-21) + new class PathProperty for a composition of several UjoProperties + Charset is supported by a UjoManager object + UjoProperty implements a CharSequence for an easy access to the property Name + new class ListProperty extending UjoPropertyList is created for property ArrayList implementations + new method is UjoPropertyList.removeItem(UJO, ITEM) is added + new method SuperUjoExt.remove(UjoPropertyList, ITEM) is added + small bug fixing and new JUnit tests release 0.80 (2008-09-07) + UJO actions are converted from a primitive type int to an new object UjoAction + all ACTION constants are moved to the interface UjoAction + serialization performance is improved + motivation tutorial in a "slide show" format is available on the home page + framework version is available in the manifest of JAR file + command line: "java -run ujo.jar" shows version number and some basic information about framework + class ZeroProviderImpl was removed, its function was replaced by UjoProperty.getDefault() feature - class UjoManagerXML is fixed for a multi thread access release 0.80.rc3 (2008-08-23) + new methods UjoExt.getText(...) and Ujo.setText(...) are available for a text processing + new method UjoExt.findProperty(String) + SingleUjoTabModel enhancements + PojoUjo class was renamed to a more comprehensible name BeanUjo (include properties and subclasses) + Properties *Rife was removed from the UJO Framework core for simplification class model release 0.80.rc2 (2008-08-07) + some abstract implementations of UjoExt interface are slightly improved for better type safe features + there is created a new method to set columns to a UjoTableModel class + methods of UjoTextable interface was extended about the "context" parameter. The original methods is implemented in a SuperUjo class + method of UjoCloneable interface was extended about the "context" parameter. release 0.80.rc (2008-07-13) + UjoExt interface is significantly improved for better type safe features + documentation extensions release 0.80.beta (2008-06-23) + interface UjoExt offers a more conventional attribute access + chaining of properties is supported + default value management is just implemented by a new method getDefault() instead of an obsolete solution using an ACTION_ZERO_REPLACE constant + Java parameter -enableassertions switch on a value type checking in a method Ujo.writeProperty(...) + many documentation areas are supplemented include a JavaDoc + Internet home page is redesigned release 0.75 (2008-05-18) + API of PojoProperty class was extended for a better usability - bug of Resource Bundle data export was fixed release 0.74 (2008-05-11) + CSV persistence is supported now + XML performance was improved + new Ujo implementation called UjoPojo is done for a JavaBean class support + API of persistence tools was slightly changed for better extension features release 0.73 (2008-04-14) + attributes in a XML export file is supported now + performance tuning + XML persistence performance tests are completed and described in documentation + action constants are reevaluated (there is recommended to recompile your project) release 0.72 (2008-03-16) + UJO implementations have got extended API for easier PROPERTY building with a better type saving. + class UjoComparator have got new method: equals(UJO ujo1, UJO ujo2) + documentation was supplemented release 0.71 (2007-11-26) + code cleaning: a compilation with parameter "-Xlint:unchecked parameter" doesn't write any warning. + API cleaning: an obscure class names with a suffix "Easy" was replaced by a word "Rife" + documentation was improved release 0.70 (2007-11-16) + project documentation is translated into English + unnecessary class MapUjoTextable was removed + class SingleUjoTabModel is fixed release 0.70.beta2 (2007-10-19) + project documentation is fixed and significantly extended + method UjoTableModel.insertRow(..) is renamed to addRow(..) release 0.70.beta (2007-10-12) + the first public version + Ujo interface API is finished + XML export / import is working + Resource bundle export / import is working + a Zero provider is supported + project documentation version is available in a Czech language only -- EOF