Claims
- 1-25. (Cancelled).
- 26. In a computer capable of supporting multiple objects each having at least one interface, a method of modifying a relationship between the objects, wherein the relationship is defined by a link between object interfaces as opposed to a relationship between entire objects, the method comprising:
establishing a relationship between objects, each of the objects being an instance of one or more classes established at the computer, wherein the objects include at least:
an origin object that includes an origin interface; and a destination object that includes a destination interface; the established relationship including a logical link between the origin and destination interfaces; and modifying the established relationship.
- 27. A method as recited in claim 26, wherein modifying the established relationship includes modifying the logical link between the origin and destination interfaces.
- 28. A method as recited in claim 26, wherein modifying the established relationship includes deleting the logical link.
- 29. A method as recited in claim 26, wherein the objects further includes at least one more object having an interface, the method further comprising modifying a relationship between the origin object interface and the interface of the at least one more object.
- 30. A method as recited in claim 26, wherein the established relationship further includes:
a first collection supported by the origin interface, the first collection including a logical link to the destination object; and a second collection supported by the destination interface, the second collection including a logical link to the origin object, and such that said logical link between the origin and destination interfaces includes the logical link to the destination object and the logical link to the origin object.
- 31. A method as recited in claim 30, wherein modifying said logical link between the origin and destination interfaces includes modifying both the logical link to the destination object and the logical link to the origin object.
- 32. A method as recited in claim 31, wherein modifying the established relationship includes deleting the logical link to the destination object and the logical link to the origin object.
- 33. A method as recited in claim 30, wherein modifying the established relationship includes making a change to one of the first and second collections.
- 34. A method as recited in claim 33, wherein modifying the established relationship includes making corresponding changes to both the first and second collections.
- 35. A method as recited in claim 30, wherein:
the logical link included in the first collection supported by the origin interface comprises a reference to a first collection object that in turn includes a reference to the destination object, thereby logically linking the origin interface and the destination object; and the logical link included in the second collection supported by the destination interface comprises a reference to a second collection object that in turn includes a reference to the origin object, thereby logically linking the destination interface and the origin object.
- 36. A method as recited in claim 30, wherein:
the logical link included in the first collection supported by the origin interface is such that the first collection has access to a first collection object, which includes a reference to a relationship object, which in turn includes a reference to the destination object, thereby logically linking the origin interface and the destination object; and the logical link included in the second collection supported by the destination interface is such that the second collection has access to a second collection object, which includes a reference to the relationship object, which in turn includes a reference to the origin object, thereby logically linking the destination interface and the origin object.
- 37. A method as recited in claim 30, wherein:
the logical link included in the first collection supported by the origin interface comprises a reference to a first collection object that in turn includes a reference to the destination object, thereby logically linking the origin interface and the destination object; the logical link included in the second collection supported by the destination interface comprises a reference to a second collection object that in turn includes a reference to the origin object, thereby logically linking the destination interface and the origin object; the origin interface further supports a third collection having access to a third collection object, which includes a reference to a relationship object, which in turn includes a reference to the destination object, thereby further logically linking the origin interface and the destination object; and the destination interface further supports a fourth collection having access to a fourth collection object, which includes a reference to the relationship object, which in turn includes a reference to the origin object, thereby further logically linking the destination interface and the origin object.
- 38. A method as recited in claim 30, wherein:
the logical link included in the first collection supported by the origin interface comprises a reference to a first collection object, which includes a reference (a) to the destination object, thereby logically linking the origin interface and the destination object, and (b) to a relationship object, which in turn includes a reference to the destination object, thereby further logically linking the origin interface and the destination object; and the logical link included in the second collection supported by the destination interface includes a reference to a second collection object, which includes a reference (a) to the origin object, thereby logically linking the destination interface and the origin object, and (b) to the relationship object, which in turn includes a reference to the origin object, thereby further logically linking the destination interface and the origin object.
- 39. A method as recited in claim 26, wherein the established relationship includes a many-to-one relationship between the origin object and a plurality of other objects, such that modifying the established relationship includes modifying a plurality of logical links between the origin object and each of the plurality of other objects.
- 40. A computer program product comprising one or more computer-readable media having computer-executable instructions for implementing a method, in a computer capable of supporting multiple objects each having at least one interface, for modifying a relationship between the objects, wherein the relationship is defined by a link between object interfaces as opposed to a relationship between entire objects, the method comprising:
establishing a relationship between objects, each of the objects being an instance of one or more classes established at the computer, wherein the objects include at least:
an origin object that includes an origin interface; and a destination object that includes a destination interface; the established relationship including a logical link between the origin and destination interfaces; and modifying the established relationship.
- 41. A computer program product as recited in claim 40, wherein modifying the established relationship includes modifying the logical link between the origin and destination interfaces.
- 42. A computer program product as recited in claim 40, wherein the established relationship further includes:
a first collection supported by the origin interface, the first collection including a logical link to the destination object; and a second collection supported by the destination interface, the second collection including a logical link to the origin object, and such that said logical link between the origin and destination interfaces includes the logical link to the destination object and the logical link to the origin object.
- 43. A computer program product as recited in claim 42, wherein modifying said logical link between the origin and destination interfaces includes modifying both the logical link to the destination object and the logical link to the origin object.
- 44. A computer program product as recited in claim 42, wherein modifying the established relationship includes deleting the logical link to the destination object and the logical link to the origin object.
- 45. A computer program product as recited in claim 42, wherein modifying the established relationship includes making corresponding changes to both the first and second collections.
- 46. A computer program product as recited in claim 40, wherein the established relationship includes a many-to-one relationship between the origin object and a plurality of other objects, such that modifying the established relationship includes modifying a plurality of logical links between the origin object and each of the plurality of other objects.
- 47. A computer program product for implementing, in a computer capable of supporting multiple objects each having at least one interface, a method of establishing a relationship between the objects by linking object interfaces to objects as opposed to establishing relationships between entire objects, the computer program product comprising:
a computer-readable medium carrying computer-executable instructions for performing the method, including: instantiating a plurality of objects at the computer, each of the plurality of objects being an instance of one or more classes established at the computer, wherein the plurality of objects includes at least:
an origin object that includes an origin interface; and a destination object that includes a destination interface; and establishing a relationship between the origin object and the destination object by establishing:
a first collection supported by the origin interface, the first collection including a logical link to the destination object, the logical link of the first collection including a reference to a first collection object, which includes a reference to a relationship object, which in turn includes a reference to the destination object, thereby logically linking the origin interface and the destination object; the logical link included in the first collection further comprising a reference to an additional collection object that in turn includes a reference to the destination object, thereby further logically linking the origin interface and the destination object; and a second collection supported by the destination interface, the second collection including a logical link to the origin object, the logical link of the second collection including a reference to a second collection object, which includes a reference to the relationship object, which in turn includes a reference to the origin object, thereby logically linking the destination interface and the origin object, the logical link included in the second collection further comprising a reference to another additional collection object that in turn includes a reference to the origin object, thereby logically linking the destination interface and the origin object;
- 48. A computer program product for implementing, in a computer capable of supporting multiple objects each having at least one interface, a method of establishing a relationship between the objects by linking object interfaces to objects as opposed to establishing relationships between entire objects, the computer program product comprising:
a computer-readable medium carrying computer-executable instructions for performing the method, including: instantiating a plurality of objects at the computer, each of the plurality of objects being an instance of one or more classes established at the computer, wherein the plurality of objects includes at least:
an origin object that includes an origin interface; and a destination object that includes a destination interface; and establishing a relationship between the origin object and the destination object by establishing:
a first collection supported by the origin interface, the first collection including a logical link to the destination object, the logical link of the first collection including a reference to a first collection object, which includes a reference to a relationship object, which in turn includes a reference to the destination object, thereby logically linking the origin interface and the destination object, the first collection object further including an independent reference to the destination object, thereby further logically linking the origin interface and the destination object; and a second collection supported by the destination interface, the second collection including a logical link to the origin object, the logical link of the second collection including a reference to a second collection object, which includes a reference to the relationship object, which in turn includes a reference to the origin object, thereby logically linking the destination interface and the origin object, the second collection object further including an independent reference to the origin object, thereby further logically linking the destination interface and the origin object.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is a continuation application of commonly-assigned U.S. patent application Ser. No. 09/497,594 filed Feb. 3, 2000 and entitled “Establishing Relationships Between Objects Based on Object Interfaces,” which claims priority to U.S. Pat. No. 6,035,342 entitled “Method and Computer Program Product for Implementing Object Relationships” issued Mar. 19, 1997, both of which are incorporated herein by reference.
Continuations (2)
|
Number |
Date |
Country |
Parent |
09497594 |
Feb 2000 |
US |
Child |
10867516 |
Jun 2004 |
US |
Parent |
08822449 |
Mar 1997 |
US |
Child |
09497594 |
Feb 2000 |
US |