Method and system for referring to and binding to objects using identifier objects
First Claim
1. A method in a computer system for storing references to moniker objects in a table, each moniker object having a moniker class identifier that identifies moniker code that, when executed, implements the moniker object, the method comprising the computer-implemented steps of:
- for each moniker object,invoking a hashing function member of the moniker object code to determine a hash value for the moniker object; and
storing a reference to the moniker object in the table in a location computed from the determined hash value,wherein the implementation of the hashing function member of one of the moniker objects is different than the implementation of the hashing function member of another one of the moniker objects.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for referring to and binding to objects using a moniker object is provided. In a preferred embodiment, a moniker object contains information to identify linked source data and provides methods through which a program can bind to the linked source data. A binding method is provided that returns an instance of an interface through which the linked source data can be accessed. The moniker object can identify source data that is stored persistently or nonpersistently. In addition, moniker objects can be composed to form a composite moniker object. A composite moniker object is used to identify linked source data that is nested in other data. In a preferred embodiment, the moniker object provides other methods including a reducing method that returns a more efficient representation of the moniker object; equality and hash methods for comparing moniker objects; and inverse, common prefix, and relative-path-to methods for comparing and locating moniker objects from other moniker objects. Several implementations of a moniker object are provided including a file moniker, an item moniker, a generic composite moniker, a pointer moniker, and an anti moniker. Each implementation is a moniker class and has a class identifier that identifies code to manage the moniker class.
147 Citations
7 Claims
-
1. A method in a computer system for storing references to moniker objects in a table, each moniker object having a moniker class identifier that identifies moniker code that, when executed, implements the moniker object, the method comprising the computer-implemented steps of:
-
for each moniker object, invoking a hashing function member of the moniker object code to determine a hash value for the moniker object; and storing a reference to the moniker object in the table in a location computed from the determined hash value, wherein the implementation of the hashing function member of one of the moniker objects is different than the implementation of the hashing function member of another one of the moniker objects.
-
-
2. A method in a computer system for comparing a requested moniker object to a plurality of moniker objects in a table, each moniker object having a class identifier that identifies moniker object code that, when executed, implements the moniker object, the method comprising the computer-implemented steps of:
-
for each of the plurality of moniker objects, invoking a hashing function member of the moniker code to determine a hash value for the moniker object; and storing a reference to the moniker object in the table in a location computed from the determined hash value; invoking a hashing function member of the moniker code of the requested moniker object to determine a hash value for the requested moniker object; and determining whether there exists a reference to a moniker object stored in the table in a location computed from the determined hash value of the requested moniker object. - View Dependent Claims (3)
-
-
4. A computer-readable memory medium containing instructions for controlling a computer processor in a computer system to store references to a plurality of objects in a table, each object having a class identifier that identifies code that, when executed, implements the object by performing:
-
for each object, invoking a hashing function member of the object code to determine a hash value for the object; and storing a reference to the object in the table in a location computed from the determined hash value, wherein the implementation of the hashing function member of one of the objects is different than the implementation of the hashing function member of another one of the objects.
-
-
5. A computer-readable memory medium containing instructions for controlling a computer processor in a computer system to compare a requested moniker object to a plurality of moniker objects in a table, each moniker object having a class identifier that identifies moniker object code that, when executed, implements the moniker object by performing:
-
for each of the plurality of moniker objects, invoking a hashing function member of the moniker code to determine a hash value for the moniker object; and storing a reference to the moniker object in the table in a location computed from the determined hash value; invoking a hashing function member of the moniker code of the requested moniker object to determine a hash value for the requested moniker object; and determining whether there exists a reference to a moniker object stored in the table in a location computed from the determined hash value of the requested moniker object. - View Dependent Claims (6)
-
-
7. A method in a computer system for storing references to moniker objects in a table, the method comprising:
-
creating instances of a plurality of moniker objects, each moniker object having a moniker class identifier that identifies moniker code that, when executed, implements the moniker object, the moniker code having a binding function member that, when invoked, binds to a source object by locating and accessing the source object, the moniker code having a hashing function member that determines a hash value for the moniker object; and for each moniker object instance, invoking the hashing function member of the moniker code to determine a hash value for the moniker object; and storing a reference to the moniker object in the table in a location computed from the determined hash value.
-
Specification