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.
getDescription, getDisplayName, getGenusType, isOfGenusTypegetId, isCurrentgetRecordTypes, hasRecordTypegetProperties, getPropertiesByRecordTypegetBranding, getBrandingIds, getLicense, getProvider, getProviderId