Object access is a fundamental part of any object system.
Different methods of access are required. Firstly there is a requirement to
retrieve some system object, in the GPO model this is the IObjectManager.
From the IObjectManager can be accessed any "remembered" objects using the recall
method.
A specific GPO object may then be used to access associated objects.
An association may indicate a single object, but frequently the association will be to a
set of objects. In this case, it is often required to select a specific member
of the set using some other property value - such as a "name" for example.
Although the object set could be searched directly, it is usually far more efficient to construct
some other classification structure over the values to be compared. This is what relational database
indexes do, and in a similar way this is what GPO classifiers do, providing efficient
classification of perhaps millions of objects.
An IClassifier object can be associated with any set and any property value and
is used for this kind of lookup, for example:
ILinkSet ls = owner.getLinkSet("parent");
IClassifier cls = ls.getClassifier("name");
cls.getValue("Some Name");
In the above example the set defined by all the objects that referenced the owner
with the property "parent" has been classified by the members "name" properties. These values
are then used to reference a specific member.