Method and apparatus for synchronizing an application's interface and data
First Claim
1. A method of synchronizing interface objects of an application'"'"'s graphical user interface with an underlying data source comprising:
- registering a binding manager at runtime with at least one interface object of an application'"'"'s graphical user interface and at least one data source, said binding manager configured to bi-directionally synchronize said at least one interface object with said at least one data source;
monitoring said at least one interface object and said at least one data source for occurrence of a change event; and
propagating said change event to an unchanged one of said at least one interface object and said at least one data source, said propagating comprising;
obtaining properties of said change event;
determining if said change event is valid by evaluating said properties of said change event; and
propagating said properties to said unchanged one of said at least one interface object and said at least one data source if said change event is valid.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of the invention comprise a method and apparatus for synchronizing interface objects of an application'"'"'s graphic user interface (GUI) with underlying data. A design tool is used in embodiments of the invention to specify an interface object'"'"'s binding properties. Data binding properties can define an association between an interface object and underlying data for synchronization purposes. In addition, a validation binding can be specified for an interface object that can be used to validate the data entered via the interface object. An expression binding associates an interface object to a plurality of interface objects and/or underlying data sources that contain data used in evaluating an expression the result of which is displayed in the interface object. A query expression binding associates a plurality of interface objects and/or underlying data sources and to an evaluatable expression the result of which is used in a query to retrieve a data source'"'"'s data. A binding manager manages the bindings (e.g., data, expression and validation bindings) defined at design time or at run time. Further, the binding manager registers with the program code (e.g., instances of object classes) that manages the bound interface objects and underlying data. The binding manager is notified, when a change occurs to an interface object or the underlying data. The binding manager processes the change request to ensure that bound interface objects and/or data sources remain synchronized.
-
Citations
28 Claims
-
1. A method of synchronizing interface objects of an application'"'"'s graphical user interface with an underlying data source comprising:
-
registering a binding manager at runtime with at least one interface object of an application'"'"'s graphical user interface and at least one data source, said binding manager configured to bi-directionally synchronize said at least one interface object with said at least one data source;
monitoring said at least one interface object and said at least one data source for occurrence of a change event; and
propagating said change event to an unchanged one of said at least one interface object and said at least one data source, said propagating comprising;
obtaining properties of said change event;
determining if said change event is valid by evaluating said properties of said change event; and
propagating said properties to said unchanged one of said at least one interface object and said at least one data source if said change event is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
receiving a binding event notification;
obtaining binding information from said notification;
storing said binding information; and
causing said binding manager to register as a listener with any data source and any interface object referenced in said binding information.
-
-
6. The method of claim 1, wherein said change event comprises a data source property change.
-
7. The method of claim 6, wherein said obtaining said properties comprises:
-
identifying said interface object bound to said data source property; and
retrieving property value from said data source.
-
-
8. The method of claim 1, wherein said change event comprises a data source row change.
-
9. The method of claim 8, wherein said obtaining said properties comprises:
-
determining all data source properties in said row;
identifying all interface objects bound to said data source properties; and
retrieving property value from said data source.
-
-
10. The method of claim 1, wherein said change event comprises a display property change.
-
11. The method of claim 10, wherein said obtaining said properties comprises:
-
retrieving the property value from said interface object;
generating a result of a validation expression with said property value if said interface objects is bound to said validation expression;
providing error notification if said result of said validation expression is false; and
identifying data source bound to said interface object.
-
-
12. The method of claim 1, wherein said at least one data object and said at least one interface object are further synchronized with at least one queriable object.
-
13. The method of claim 1, wherein said obtaining said properties comprises generating selection criteria used in a query that retrieves records from said data source.
-
14. A system comprising:
-
an interface component;
an interface object within said interface component;
a control object that controls said interface object;
a data source descriptor associated with a set of data, said data source descriptor comprising an Application Programming Interface (API) defining the structure of said data;
a form that manages said interface component, wherein said form comprises binding information between said control object and said data source descriptor; and
a binding manager, wherein said binding information causes said binding manager to invoke a bind operation at run-time in response to a binding event, said binding manager controlling synchronization between said interface object and said data. - View Dependent Claims (15)
a changed one of said interface object and said data notifying said binding manager when an event occurs;
said binding manager obtaining the properties of said change event;
said binding manager evaluating said properties of said change event; and
propagating said properties to said unchanged one of said interface object and said data.
-
-
16. A computer program product comprising:
-
a computer readable medium having computer program code embodied therein for synchronizing an application'"'"'s interface and data, said computer program code configured to cause a processor to;
register a binding manager at runtime with at least one interface object of an application'"'"'s graphical user interface and at least one data source, said binding manager configured to bi-directionally synchronize said at least one interface object with said at least one data source;
monitor said at least one interface object and said at least one data source for occurrence of a change event; and
propagate said change event to an unchanged one of said at least one interface object and said at least one data source, said propagate comprising;
obtain properties of said change event;
determine if said change event is valid by evaluating said properties of said chance event; and
propagate said properties to said unchanged one of said at least one interface object and said at least one data source if said change event is valid. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
receive a binding event notification;
obtain binding information from said notification;
storing said binding information; and
causing said binding manager to register as a listener with any data source and any interface object referenced in said binding information.
-
-
22. The computer program product of claim 21, wherein said obtain said properties comprises:
-
identify said interface object bound to said data source property; and
retrieve property value from said data source.
-
-
23. The computer program product of claim 16, wherein said change event is a data source property change.
-
24. The computer program product of claim 23, wherein said obtain said properties comprises:
-
determine all data source properties in said row;
identify all interface objects bound to said data source properties; and
retrieve property value from said data source.
-
-
25. The computer program product of claim 16, wherein said change event is a data source row change.
-
26. The computer program product of claim 25, wherein said obtain said properties comprises:
-
retrieve the property value from said interface object;
generate a result of a validation expression with said property value if said interface objects is bound to said validation expression;
provide error notification if said result of said validation expression is false; and
identify data source bound to said interface object.
-
-
27. The computer program product of claim 21, wherein said change event is a display property change.
-
28. The computer program product of claim 16, wherein said at least one data object and said at least one interface object are further synchronized with at least one queriable object.
Specification