Container independent data binding system
First Claim
1. A machine readable memory tangibly embodying instructions executable by a computer to perform a method for container independent data binding by way of a binding agent between a plurality of data consumers and a plurality of data sources, said method comprising:
- implementing said binding agent as a container independent object separate from said plurality of data consumers and said plurality of data sources, wherein said binding agent is accessible to said plurality of data consumers and said plurality of data sources by way of a standard object interface and accompanying protocol such that each of said plurality of data consumers and each of said plurality of data sources can have direct access to their bound counterpart;
a first step of exposing said standard object interface for said binding agent so that said standard object interface is accessible to said plurality of data consumers and said plurality of data sources;
establishing a direct data binding association between at least one of said plurality of data consumers and at least one of said plurality of data sources by way of said binding agent upon request by said at least one data consumer, wherein said at least one data consumer has object characteristics selected from at least one group consisting of;
a visual object, and a non-visual object; and
supporting at least one optional data binding feature by way of said binding agent selected from at least one of a group consisting of;
a data access interface arbitration mechanism, a binding collection method, a control data validation method, a data formatting method, and a data repeater control.
2 Assignments
0 Petitions
Accused Products
Abstract
A container independent data binding system that independently facilitates data binding by way of a binding agent object on behalf of any data consumer and/or data source that conforms to the necessary interfaces and protocols. The binding agent facilitates data binding and transparent data access for any visual and/or non-visual object, in addition to control data verification for client-side control validation independent of a container, binding collection for non-data aware objects that can benefit from data binding, data conversion and formatting to control User Interface displays in the context of data binding, and repeater control to facilitate a list view for visual objects, for any object that requires and requests access to these features rather than individually implementing these features without binding agent support.
147 Citations
16 Claims
-
1. A machine readable memory tangibly embodying instructions executable by a computer to perform a method for container independent data binding by way of a binding agent between a plurality of data consumers and a plurality of data sources, said method comprising:
-
implementing said binding agent as a container independent object separate from said plurality of data consumers and said plurality of data sources, wherein said binding agent is accessible to said plurality of data consumers and said plurality of data sources by way of a standard object interface and accompanying protocol such that each of said plurality of data consumers and each of said plurality of data sources can have direct access to their bound counterpart;
a first step of exposing said standard object interface for said binding agent so that said standard object interface is accessible to said plurality of data consumers and said plurality of data sources;
establishing a direct data binding association between at least one of said plurality of data consumers and at least one of said plurality of data sources by way of said binding agent upon request by said at least one data consumer, wherein said at least one data consumer has object characteristics selected from at least one group consisting of;
a visual object, and a non-visual object; and
supporting at least one optional data binding feature by way of said binding agent selected from at least one of a group consisting of;
a data access interface arbitration mechanism, a binding collection method, a control data validation method, a data formatting method, and a data repeater control.- View Dependent Claims (2, 3, 6, 7, 8, 10, 11, 12)
enforcing use of said standard object interface and said accompanying protocol between each of said plurality of data consumers and each of said plurality of data sources; and
requiring that each of said plurality of data consumers that use said binding agent set a data source property.
-
-
3. A method according to claim 2 wherein said step of requiring includes:
-
first step of setting said data source property to identify one of said plurality of data sources to which a setting one of said plurality of data consumers is bound; and
second step of setting a data member property to identify a sub-set of said data source to which said setting one of said plurality of data consumers is bound, in a manner that permits a plurality of said plurality of data consumers to bind to a common data member.
-
-
6. A method according to claim 1 wherein said step of establishing includes:
-
communicating between a data access unaware data consumer and one of said plurality of data sources by way of said binding agent acting as a data access aware data consumer on behalf of said data access unaware data consumer;
second step of exposing data values of said data access unaware data consumer as properties on an object that is said data access unaware data consumer; and
notifying interested ones of said plurality of data consumers of property modifications by said data access unaware data consumer.
-
-
7. A method according to claim 6 wherein said step of notifying includes:
-
first step of notifying said interested ones of said plurality of data consumers prior to said property modifications; and
second step of notifying said interested ones of said plurality of data consumers after said property modifications.
-
-
8. A method according to claim 1 wherein said step of supporting said binding collection method includes:
adding multiple ones of said plurality of data consumers as objects to a data binding collection that are all bound to a common data source independent of any container requirement for any of said plurality of data consumers.
-
10. A method according to claim 1 wherein said step of supporting said control data validation includes:
-
defining a validation causes criteria that identifies when said control data validation should occur for a container;
exposing a Boolean validation causes property to implement said validation causes criteria;
validating a control in response to an occurrence of one of said validation causes criteria; and
aborting said step of validating said control in response to an objection by at least one of said plurality of data consumers.
-
-
11. A system according to claim 1 wherein said step of supporting said data formatting method includes:
-
converting data from an identified one of said plurality of data stores by way of said binding agent on request from one of said plurality of data consumers;
editing data from said identified one of said plurality of data stores by way of said binding agent on request from one of said plurality of data consumers; and
reversing any data conversion and any data editing from said data that is written back to said identified one of said plurality of data stores.
-
-
12. A method according to claim 1 wherein said step of supporting said data repeater control includes:
generating a list-style data presentation for a visual object having exposed properties by way of said binding agent that repeats singular control operations across multiple rows of data from an identified one of said plurality of data stores to form compound controls.
-
4. A method according to claim I wherein said step of exposing includes:
-
a second step of exposing a data source interface having at least one of a plurality of methods selected from a group consisting of;
a first method to return a data access object for a data member, a second method to return a number of known data members within a data source, a third method to return a name of a known data member, a fourth method to add a listener to a notification list, and a fifth method to remove a listener from said notification list.- View Dependent Claims (5)
a third step of exposing a data source listener interface having at least one of a plurality of methods selected from a group consisting of;
a first method to notify a listener of said data member availability, a second method to notify a listener of a new data member addition, and a third method to notify s aid listener of a data member removal.
-
-
9. A method according to claim I wherein said step of supporting said data access interface arbitration mechanism includes:
-
initiating a query by any one of said plurality of data consumers as to which of at least one data access interface are available to access data from an identified one of said plurality of data sources;
selecting an acceptable one of said at least one data access interface through which data can be accessed from said identified one of said plurality of data sources in positive response to availability of said acceptable one of said at least one data access interface; and
deferring data access interface selection and management to said binding agent in an absence of said acceptable one of said at least one data access interface.
-
-
13. A container independent data binding system having a binding agent between a plurality of data consumers and a plurality of data sources, said system comprising:
-
means for implementing said binding agent as a container independent object separate from said plurality of data consumers and said plurality of data sources wherein said means for implementing includes, means for configuring said binding agent for accessibility to said plurality of data consumers and said plurality of data sources by way of a standard object interface and accompanying protocol such that each of said plurality of data consumers and each of said plurality of data sources can have direct access to their bound counterparts;
first means for setting a data source property to identify one of said plurality of data sources to which a setting one of said plurality of data consumers is bound;
second means for setting a data member property to identify a subject of said data source to which said setting one of said plurality of data consumers is bound, in a manner that permits a plurality of said plurality of data consumers to bind to a common data member;
means for exposing said standard object interface for said binding agent so that said standard object interface is accessible to said plurality of data consumers and said plurality of data sources;
means for establishing a direct data binding association between at least one of said plurality of data consumers and at least one of said plurality of data sources by way of said binding agent upon request by said at least one data consumer, wherein said at least one data consumer has object characteristics selected from at least one of a group consisting of;
a visual object, and a non-visual object; and
means for supporting at least one optional data binding feature by way of said binding agent selected from at least one of a group consisting of;
a data access interface arbitration mechanism, a binding collection method, a control data validation method, a data formatting method, and a data repeater control.- View Dependent Claims (14, 15, 16)
a second means for exposing a data source interface having at least one of a plurality of methods selected from a group consisting of;
a first method to return a data access object for a data member, a second method to return a number of known data members within a data source, a third method to return a name of a known data member, a fourth method to add a listener to a notification list, and a fifth method to remove a listener from said notification list.
-
-
15. A system according to claim 14 wherein said first means for exposing includes:
a third means for exposing a data source listener interface having at least one of a plurality of methods selected from a group consisting of;
a first method to notify a listener of said data member availability, a second method to notify a listener of a new data member addition, and a third method to notify said listener of a data member removal.
-
16. A system according to claim 13 wherein said means for establishing includes:
-
means for communicating between a data access unaware data consumer and one of said plurality of data sources by way of said binding agent acting as a data access aware data consumer on behalf of said data access unaware data consumer;
second means for exposing data values of said data access unaware data consumer as properties on an object that is said data access unaware data consumer; and
means for notifying interested ones of said plurality of data consumers of property modifications by said data access unaware data consumer.
-
Specification