Interface OsidCatalog

All Superinterfaces:
Browsable, Extensible, Federateable, Identifiable, OsidObject, Sourceable
All Known Subinterfaces:
Academy, AddressBook, Agency, Antimatroid, AuctionHouse, Bank, Billing, Bin, Blog, Book, Business, Business, Calendar, Campus, Catalog, Catalogue, Checklist, Configuration, Cookbook, CourseCatalog, Depot, Dictionary, Directory, Distributor, Endpoint, Engine, Engine, Family, Forum, Foundry, FrontOffice, Gradebook, Graph, Hierarchy, Inquest, Journal, Log, Mailbox, Map, ObjectiveBank, Office, Ontology, Oubliette, Polls, Press, Process, Profile, Publisher, Realm, Repository, Store, System, Utility, Vault, Warehouse

public interface OsidCatalog extends OsidObject, Sourceable, Federateable

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.