OSID Logo
OSID Specifications
osid package
Version 3.0.0
Release Candidate Preview
Interfaceosid.OsidCatalog
Implementsosid.OsidObject
osid.Sourceable
osid.Federateable
Description

OsidCatalog is the top level interface for all OSID catalog-like objects. A catalog relates to other OSID objects for the purpose of organization and federation and almost always are hierarchical. An example catalog is a Repository that relates to a collection of Assets.

OsidCatalogs allow for the retrieval of a provider identity and branding.

Collections visible through an OsidCatalog may be the output of a dynamic query or some other rules-based evaluation. The facts surrounding the evaluation are the OsidObjects visible to the OsidCatalog from its position in the federated hierarchy. The input conditions may satisifed on a service-wide basis using an OsidQuery or environmental conditions supplied to the services via a Proxy .

Often, the selection of an OsidCatalog in instantiating an OsidSession provides access to a set of OsidObjects . Because the view inside an OsidCatalog can also be produced behaviorally using a rules evaluation, the Id (or well-known alias) of the OsidCatalog may be used as an abstract means of requesting a predefined set of behaviors or data constraints from an OSID Provider.

The flexibility of interpretation together with its central role in federation to build a rich and complex service from a set of individual OSID Providers makes cataloging an essential pattern to achieve abstraction from implementations in the OSIDs without loss of functionality. Most OSIDs include a cataloging pattern.