JFace Data Binding
Why JFace Data Binding? (code name: Krispy Kreme)
Developing line of business applications as Eclipse Rich Client Platform applications presents a number of unique challenges.
- How does one validate data entry when the number of possible interactions between validation rules rises proportional to the square of the number of data entry fields on an input form?
- How does one avoid coding repetitive, dull, tedious, and error-prone SWT event handlers?
- How can one improve reuse of data-driven user interfaces?
All of these concerns are improved using JFace Data Binding.
How does this work?
Traditionally, database-driven line of business applications are organized into tiers:
- a database tier
- a business or domain model tier
- a presentation tier
The communication paths between these tiers are organized along the routes that data flows within and among these tiers.
Recently, Hibernate, EJB3, and Rails technologies have emerged as a means of automating the data flow between the business tier and the database tier.
By analogy, just as Hibernate helps automate the data flow between the business tier and the database tier, JFace Data Binding helps automate the data flow betweeen the business tier and the presentation tier. It does this via a simple update to the model-view-controller pattern that enables us to create a set of completely generic and reusable controllers between the business model objects and the view (or presentation) tier.
JFace Data Binding from 4000 meters
Note: The JFace data binding framework is new in 3.2 and is now provisional API for Eclipse 3.2. This means that although there is "internal" in the package names, you can use the APIs and we intend to publish the APIs as full APIs in the next version of Eclipse. However, although we will try to minimize breaking changes, there are no guarantees that we will not make breaking changes before the API is published.
For comments, design feed back, and bug reports, please enter bugs against Platform/UI using [DataBinding] in the summary.