Claims
- 1. A method of processing data comprising:
defining a class which supports values in instances of the class; defining a nonlocal value hierarchy separate from the class hierarchy; and in an instance of the class, setting a nonlocal value such that the set nonlocal value applies to the instance of the class and to other objects in the nonlocal value hierarchy.
- 2. A method as claimed in claim 1 wherein values are stored in instances of the class in defined fields of preallocated memory space and in an option data structure which supports references to the nonlocal values without preallocation of memory space for the full nonlocal values.
- 3. A method as claimed in claim 2 wherein the option data structure supports nonlocal values which apply to other objects in the nonlocal value hierarchy and local values which apply only to the object in which it is set.
- 4. A method as claimed in claim 2 wherein the nonlocal value hierarchy is a graphical hierarchy.
- 5. A method as claimed in claim 2 wherein the option data structure comprises a linked list of option items having option values in an instance of the class.
- 6. A method as claimed in claim 1 wherein all objects to which a nonlocal value applies are notified of any change in that value that affects them.
- 7. A method as claimed in claim 6 wherein only a changed object and descendants of the changed object in the nonlocal value hierarchy are notified of the change.
- 8. A method as claimed in claim 1 wherein, with a declaration of a nonlocal value in a class object, a corresponding nonlocal data structure is created in a designated common superclass to support setting of a nonlocal value on an object whose superclasses do not contain an explicit declaration of the nonlocal value.
- 9. A method as claimed in claim 8 wherein the common superclass is the immediate subclass of a class that provides a concrete implementation of a nonlocal value processing method.
- 10. A method as claimed in claim 1 further comprising registering objects that are to be notified when a nonlocal value changes.
- 11. A method as claimed in claim 10 wherein registered nonlocal values are saved to reduce recomputation of a set of nonlocal values for which an object registers.
- 12. A method as claimed in claim 11 further comprising notifying an object when a descendant in the nonlocal value hierarchy changes the set of nonlocal values for which it is to register.
- 13. A method as claimed in claim 1 wherein a nonlocal value binding declared in a second software package attaches to a class defined in a first software package, the nonlocal value binding declared in the second software package being compiled to a second nonlocal value data structure separate from a first nonlocal value data structure of the first software package.
- 14. A method as claimed in claim 13 wherein the second nonlocal value data structure comprises a hash table which holds links to the nonlocal value binding declared in the second software package.
- 15. A method as claimed in claim 13 wherein a nonlocal value binding is located by examining the first nonlocal value data structure and the second nonlocal value data structure.
- 16. A method as claimed in claim 1 wherein the nonlocal value hierarchy is a graphical hierarchy.
- 17. A method as claimed in claim 1 wherein a nonlocal value data structure includes a default value, the method further comprising, in a get operation to an instance of the class, if a nonlocal value which applies to the instance has been set, getting a nonlocal value and, if no value which applies has been set, getting the default value for the class.
- 18. A method of processing data comprising:
defining an object with an option data structure which supports references to nonlocal option values without preallocation of memory space for the full option values; defining a nonlocal option hierarchy of objects; and setting a nonlocal option value in the option data structure such that the set nonlocal option value applies to other objects in the nonlocal option hierarchy.
- 19. A method as claimed in claim 18 further comprising supporting values in preallocated memory space associated with defined fields.
- 20. A method as claimed in claim 18 wherein the option data structure supports nonlocal options which apply to other objects in the option hierarchy and local options which apply only to the object in which they are set.
- 21. A method as claimed in claim 18 wherein all objects to which a nonlocal option applies are notified of any change that affects them.
- 22. A method as claimed in claim 21 wherein only a changed object and descendants of the changed object in the nonlocal option hierarchy are notified of the change.
- 23. The method of claim 18 further comprising registering objects that are to be notified when a nonlocal option changes.
- 24. The method of claim 23 wherein registered options are saved to reduce recomputation of a set of options for which an object registers.
- 25. The method of claim 24 further comprising notifying an object when a descendant in the option hierarchy changes the set of options for which it is to register.
- 26. A method as claimed in claim 18 wherein the option data structure comprises a linked list of option items having option values.
- 27. A method as claimed in claim 18 wherein the nonlocal option hierarchy is a graphical hierarchy.
- 28. A method as claimed in claim 18 wherein a nonlocal option data structure includes a default option value, the method further comprising, in a get operation to an instance of the class, if a nonlocal value which applies to the instance has been set, getting an option value and, if no value which applies has been set, getting the default value for the class.
- 29. A data processing system comprising:
a class which supports values in instances of the class; a nonlocal value hierarchy separate from the class hierarchy; and a nonlocal value in an instance of the class which applies to the instance of the class and to other objects in the nonlocal value hierarchy.
- 30. A system as claimed in claim 29 wherein values are stored in instances of the class in defined fields of preallocated memory space and in an option data structure which supports references to the nonlocal values without preallocation of memory space for the full nonlocal values.
- 31. A system as claimed in claim 30 wherein the option data structure supports nonlocal values which apply to other objects in the nonlocal value hierarchy and local values which apply only to the object in which they are set.
- 32. A system as claimed in claim 30 wherein the nonlocal value hierarchy is a graphical hierarchy.
- 33. A system as claimed in claim 30 wherein the option data structure comprises a linked list of option items having option values in an instance of the class.
- 34. A system as claimed in claim 29 wherein all objects to which a nonlocal value applies are notified of any change in that value that affects them.
- 35. A system as claimed in claim 34 wherein only a changed object and descendants of the changed object in the nonlocal value hierarchy are notified of the change.
- 36. A system as claimed in claim 29 wherein, with a declaration of a nonlocal value in a class object, a corresponding nonlocal data structure is created in a designated common superclass to support setting of a nonlocal value on an object whose superclasses do not contain an explicit declaration of the nonlocal value.
- 37. A system as claimed in claim 36 wherein the common superclass is the immediate subclass of a class that provides a concrete implementation of a nonlocal value processing method.
- 38. A system as claimed in claim 29 wherein objects that are to be notified when a nonlocal value changes are registered.
- 39. A system as claimed in claim 38 wherein registered nonlocal values are saved to reduce recomputation of a set of nonlocal values for which an object registers.
- 40. A system as claimed in claim 39 wherein an object is notified when a descendant in the nonlocal value hierarchy changes the set of nonlocal values for which it is to register.
- 41. A system as claimed in claim 29 wherein a nonlocal value binding declared in a second software package attaches to a class defined in a first software package, the nonlocal value binding declared in the second software package being compiled to a second nonlocal value data structure separate from a first nonlocal value data structure of the first software package.
- 42. A system as claimed in claim 41 wherein the second nonlocal value data structure comprises a hash table which holds links to the nonlocal value binding declared in the second software package.
- 43. A system as claimed in claim 41 wherein a nonlocal value binding is located by examining the first nonlocal value data structure and the second nonlocal value data structure.
- 44. A system as claimed in claim 29 wherein the nonlocal value hierarchy is a graphical hierarchy.
- 45. A system as claimed in claim 29 wherein a nonlocal value data structure includes a default value which is obtained when no nonlocal value has been set in an applicable instance object.
- 46. A data processing system comprising:
an option data structure which supports references to nonlocal option values without preallocation of memory space for the full option values; a nonlocal option hierarchy of objects; and a nonlocal option value in the option data structure that applies to other objects in the nonlocal option hierarchy.
- 47. A system as claimed in claim 46 further comprising fields supporting values in preallocated memory space.
- 48. A system as claimed in claim 46 wherein the option data structure supports nonlocal options which apply to other objects in the option hierarchy and local options which apply only to the object in which they are set.
- 49. A system as claimed in claim 46 wherein all objects to which a nonlocal option applies are notified of any change that affects them.
- 50. A system as claimed in claim 49 wherein only a changed object and descendants of the changed object in the nonlocal option hierarchy are notified of the change.
- 51. A system as claimed in claim 46 wherein objects that are to be notified when a nonlocal value changes are registered.
- 52. A system as claimed in claim 51 wherein registered options are saved to reduce recomputation of a set of options for which an object registers.
- 53. A system as claimed in claim 52 wherein an object is notified when a descendant in the nonlocal value hierarchy changes the set of nonlocal values for which it is to register.
- 54. A system as claimed in claim 46 wherein the option data structure comprises a linked list of option items having option values.
- 55. A system as claimed in claim 46 wherein the nonlocal option hierarchy is a graphical hierarchy.
- 56. A system as claimed in claim 46 wherein an option data structure includes a default value which is obtained when no nonlocal option value has been set in an applicable instance object.
- 57. A data processing system comprising:
means for defining a class which supports values in instances of the class; means for defining a nonlocal value hierarchy separate from the class hierarchy; and means for setting a nonlocal value in an instance of the class such that the set nonlocal value applies to the instance of the class and to other objects in the nonlocal value hierarchy.
- 58. A data processing system comprising:
means for defining an object with an option data structure which supports references to nonlocal option values without preallocation of memory space for the full option values; means for defining a nonlocal option hierarchy of objects; and means for setting a nonlocal option value in the option data structure such that the set nonlocal option value applies to other objects in the nonlocal option hierarchy.
- 59. 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 a class which supports values in instances of the class; define a nonlocal value hierarchy separate from the class hierarchy; and in an instance of the class, set a nonlocal value such that the set nonlocal value applies to the instance of the class and to other objects in the nonlocal value hierarchy.
- 60. A product as claimed in claim 59 wherein the nonlocal value hierarchy is a graphical hierarchy.
- 61. 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 nonlocal option values without preallocation of memory space for the full option values; define a nonlocal option hierarchy of objects; and set a nonlocal option value in the option data structure such that the set nonlocal option value applies to other objects in the nonlocal option hierarchy.
- 62. A product as claimed in claim 61 wherein the nonlocal value hierarchy is a graphical hierarchy.
- 63. A computer data signal comprising a code segment including instructions to:
define a class which supports values in instances of the class; define a nonlocal value hierarchy separate from the class hierarchy; and in an instance of the class, set a nonlocal value such that the set nonlocal value applies to the instance of the class and to other objects in the nonlocal value hierarchy.
- 64. A computer data signal comprising a code segment including instructions to:
define an object with an option data structure which supports references to nonlocal option values without preallocation of memory space for the full option values; define a nonlocal option hierarchy of objects; and set a nonlocal option value in the option data structure such that the set nonlocal option value applies to other objects in the nonlocal option hierarchy.
RELATED APPLICATION(S)
[0001] This application is a Continuation-in-Part application of U.S. application No. 09/672,565, filed Sep. 28, 2000 which claims priority to U.S. Provisional Application No. 60/162,825, 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 |
09672565 |
Sep 2000 |
US |
Child |
09760391 |
Jan 2001 |
US |