Joda - Next Generation Beans

Project
   Home
   SourceForge
   News
   FAQs
   Licence

Joda Time
   Time home

Joda Primitives
   Primitives home

Joda Beans
   Beans home
   Problem statement
   Design overview
   Getting started
   Swing binding
   XML input/output
   XPath access
   API Javadoc

Download
   Source
   CVS

Contributing
   Feedback
   Volunteer
   Contributors

 

 

 

 

 

 

 

 

Problem statement

The solution

Joda seeks to provide a single model for all these technologies to work around, effectively next generation JavaBeans. The data in the model can be viewed and manipulated using a JavaBean style interfaces. But it can also be viewed and manipulated using a DOM style API. These two programming styles are effectively just two views on the same data and are continuously in sync. And there is no XML style restriction of a hierarchical view of the model.

This dual interface into the program enables many other technologies to be linked to a Joda model easily. For example:

  • XML input/output - The entire model can be written to or from XML using a default XML style
  • XPath querying - The object model can be queried using XPath, from Jaxen.org
  • DOM view - The property model can be accessed using the raw DOM API
  • Swing bindings - A property can be linked to a Swing GUI so changes to one update the other and vice versa
  • Model views - The same object model could be viewed in a transformed structure, in sync, continuously updated
  • Error handing - Errors messages can be attached to an individual property
  • JDBC binding - A simple, or complex, binding to JDBC data could be developed
  • XML database binding - A binding to and from an XML database, such as Apache Xindice, could be developed
  • Compare two models - Two given object model trees can be examined for differences, such as to only save changes to a database
  • Network traffic optimisation - By comparing two models, only data that has to be sent accross a network has to be sent

Each of the functions above will be developed as separate modules operating on the core Joda property model. Ideally, some will become separate open-source projects, for example the Swing and Database bindings.

<< Problem    Design >>