Claims
- 1. A method of processing data comprising:
defining an object with an option data structure which supports references to option values without preallocation of memory space for the full option values; and notifying objects of a change in an option value through a change handler identified by an option binding, the option binding being located by first searching a mapping data structure for a previously computed mapping to the option binding and, if no mapping was previously computed, by then computing the mapping to the option binding and storing the mapping in the mapping data structure.
- 2. A method as claimed in claim 1 wherein the mapping data structure is a hash table.
- 3. A method as claimed in claim 1 wherein the option binding is a most specific option binding given a class and a base option binding.
- 4. A method as claimed in claim 1 wherein change handler code for one option is defined in different classes within a class inheritance hierarchy and the change handler code from each class is executed when the option value changes.
- 5. A method as claimed in claim 1 wherein an option data structure includes a default value, the method further comprising, in a get operation to an instance of the class, if an option value which applies to the instance has been set, getting the set option value and, if a value which applies has not been set, getting the default value for the class.
- 6. A method as claimed in claim 1 wherein the option data structure comprises a linked list of option items having option values.
- 7. A method as claimed in claim 1 wherein a nonlocal option value applies to other objects in a nonlocal option hierarchy.
- 8. A method as claimed in claim 7 wherein the nonlocal option hierarchy is a graphical hierarchy.
- 9. A method as claimed in claim 1 wherein the class which supports the option data structure includes defined fields to support values in preallocated memory space.
- 10. A data processing system comprising:
an object with an option data structure which supports references to option values without preallocation of memory space for the full option values; a change handler which notifies objects of a change in an option value; an option binding which identifies a change handler; and a mapping data structure which maps an option name and class to the option binding.
- 11. A system as claimed in claim 10 wherein the mapping data structure is a hash table.
- 12. A system as claimed in claim 10 wherein the option binding is a most specific option binding given a class and a base option binding.
- 13. A system as claimed in claim 10 wherein change handler code for one option is defined in different classes within a class inheritance hierarchy and the change handler code from each class is executed when the option value changes.
- 14. A system as claimed in claim 10 wherein an option value data structure includes a default value which is obtained when an option value has not been set in an applicable instance object.
- 15. A system as claimed in claim 10 wherein the option data structure comprises a linked list of option items having option values.
- 16. A system as claimed in claim 10 wherein a nonlocal option value applies to other objects in a nonlocal option hierarchy.
- 17. A system as claimed in claim 16 wherein the nonlocal option hierarchy is a graphical hierarchy.
- 18. A system as claimed in claim 10 wherein the class which supports the option data structure includes defined fields to support values in preallocated memory space.
- 19. A data processing system comprising:
means for defining an object with an option data structure which supports references to option values without preallocation of memory space for the full option values; and means for notifying objects of a change in an option value through a change handler identified by an option binding, the option binding being located by first searching a mapping data structure for a previously computed mapping to the option binding and, if no mapping was previously computed, by then computing the mapping to the option binding and storing the mapping in the mapping data structure.
- 20. A computer program product comprising:
a computer usable medium for storing data; and a set of computer program instructions embodied on the computer usable medium, including instructions to:
define an object with an option data structure which supports references to option values without preallocation of memory space for the full option values; and notify objects of a change in an option value through a change handler identified by an option binding, the option binding being located by first searching a mapping data structure for a previously computed mapping to the option binding and, if no mapping was previously computed, by then computing the mapping to the option binding and storing the mapping in the mapping data structure.
- 21. A product as claimed in claim 20 wherein the option data structure comprises a linked list of option items having option values.
- 22. A computer data signal comprising a code segment, including instructions to:
define an object with an option data structure which supports references to option values without preallocation of memory space for the full option values; and notify objects of a change in an option value through a change handler identified by an option binding, the option binding being located by first searching a mapping data structure for a previously computed mapping to the option binding and, if no mapping was previously computed, by then computing the mapping to the option binding and storing the mapping in the mapping data structure.
RELATED APPLICATION(S)
[0001] This application is a Continuation-in-Part application of U.S. application Ser. No. 09/672,579 filed Sep. 28, 2000 which claims priority to U.S. Provisional Application No. 60/162,825 filed Nov. 1, 1999, the entire teachings of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60162825 |
Nov 1999 |
US |
Continuation in Parts (1)
|
Number |
Date |
Country |
Parent |
09672579 |
Sep 2000 |
US |
Child |
09759695 |
Jan 2001 |
US |