US 12,254,327 B2
Dynamically binding data in an application
James Tierney, Santa Cruz, CA (US); and John R. Thomas, Aptos, CA (US)
Assigned to Embarcadero Technologies, Inc., Austin, TX (US)
Filed by Embarcadero Technologies, Inc., Austin, TX (US)
Filed on Nov. 21, 2022, as Appl. No. 17/991,652.
Application 17/991,652 is a continuation of application No. 16/683,063, filed on Nov. 13, 2019, granted, now 11,526,366.
Application 16/683,063 is a continuation of application No. 15/444,094, filed on Feb. 27, 2017, granted, now 10,489,167, issued on Nov. 26, 2019.
Application 15/444,094 is a continuation of application No. 15/157,287, filed on May 17, 2016, granted, now 9,619,253, issued on Apr. 11, 2017.
Application 15/157,287 is a continuation of application No. 14/473,783, filed on Aug. 29, 2014, granted, now 9,367,338, issued on Jun. 14, 2016.
Application 14/473,783 is a continuation of application No. 13/600,107, filed on Aug. 30, 2012, granted, now 8,910,193, issued on Dec. 9, 2014.
Claims priority of provisional application 61/529,192, filed on Aug. 30, 2011.
Claims priority of provisional application 61/529,178, filed on Aug. 30, 2011.
Prior Publication US 2023/0093709 A1, Mar. 23, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/00 (2006.01); G06F 8/54 (2018.01); G06F 9/445 (2018.01); G06F 9/54 (2006.01)
CPC G06F 9/44521 (2013.01) [G06F 8/54 (2013.01); G06F 9/54 (2013.01); G06F 9/545 (2013.01); G06F 9/547 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-usable storage medium having instructions embodied therein that when executed cause a computer system to perform a method for dynamically binding data in an application, the method comprising:
receiving an expression describing a relation between a first property of a first data of the application to a first property of a second data of the application;
discovering data types of the first data and the second data using run time type information (RTTI) to query the first data and the second data;
creating a binding between the first data and the second data based on the relation, the first property of the first data, and the first property of the second data;
propagating a change to the first property of the second data based on a change to the first property of the first data, the propagating comprising converting a data type of the second data to a different data type;
altering a property of the second data based on the binding;
orchestrating the receiving the expression, the creating the binding, and the altering the property to manage when the expression is executed in the application.