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, isOfGenusType
getId, isCurrent
getRecordTypes, hasRecordType
getProperties, getPropertiesByRecordType
getBranding, getBrandingIds, getLicense, getProvider, getProviderId