coding style
to do

Uni-d purpose

Uni-d is an tool to generate a base (J2EE based) application from a XML description of the data and interactions. This application can then be further extended in code. If the base definition changes, the application can be regenerated without loss of the custom code/extensions used to make the app more complete. Apart from the core functionality, Uni-d also includes some utility code which can be useful in it's own right.


  • The data model supports the following features
    • (multiple) inheritance
    • declarative constraints
    • programmed constraints
    • int, double and string fields
    • fields with multiple values
    • hard linked records (normal db links)
    • soft linked records (using an ordinary field reference, the linked record may not exist)
    • field values can be limited (choices) either statically (xml description) or programmatically (validation)
    • for removing records cascade can be used
  • The user interface, out of the box, contains the following features
    • thin client, all browsers
    • no need for ActiveX activation of client side java
    • ajax for responsive, powerful user interface
    • easy/efficient keyboard navigation
    • powerful automatic cross linking of records
    • setting links using suggest values
    • fields can be distributed over (tab) pages with some fields can be visible on all tabs
    • fields can be grouped
    • powerful user management with customization of rights
    • possible choice of visible fields per user
    • possible printout (pdf doc) of the result of finders, with user configurable fields (screen and pdf), and column width (pdf)
    • inclusion of reporting in the user interface
    • generated components can be used to build custom pages
    • layout can be modified using css.
  • Powerful support for import and export of data using text files.
  • lazy collections used to fetch finders results
  • tools provided for import, export, remote printing of reports, database update (and partial cleanup)
  • utility classes for
    • ean128 barcode support
    • more efficient xml parsing, based on Javolution parser
    • FScript extensions
    • some useful Swing classes

Uni-d modules

Uni-d contains several modules.

The core module is about automatic generation of a large part of an application (both user interface and data layer) from the object model. It can be extended to generate even more (like web services layer etc). There are provisions for the inclusion of reporting, hooks for the tools etc.

The util module provides many additional services. For example for ean128 barcodes, FScript extensions etc.

The build and template modules are less important. The contain the build system for Uni-d and some template files which are needed (but can be customized) to bulid a full application.


History of the project.

Thanks to

The development is sponsored by CAB-software (, which uses Uni-d as core framework for the IC-trace ( traceability software project.

$Id: 1760 2005-11-24 13:20:32Z cabnetrom $