OSID Logo
OSID Specifications
cataloging rules package
Version 3.0.0
Release Candidate Preview
Interfaceosid.cataloging.rules.CatalogEnablerCatalogAssignmentSession
Implementsosid.OsidSession
Description

This session provides methods to re-assign CatalogEnabler to Catalog mappings. A CatalogEnabler may appear in multiple Catalog objects and removing the last reference to a CatalogEnabler is the equivalent of deleting it. Each Catalog may have its own authorizations governing who is allowed to operate on it.

Adding a reference of a CatalogEnabler to another Catalog is not a copy operation (eg: does not change its Id ).

MethodcanAssignCatalogEnablers
Description

Tests if this user can alter catalog enabler/catalog mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Returnboolean false if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignCatalogEnablersToCatalog
Description

Tests if this user can alter catalog enabler/catalog mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known mapping methods in this session will result in a PERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer lookup operations to unauthorized users.

Parametersosid.id.IdcatalogIdthe Id of the Catalog
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT catalogId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCatalogIds
Description

Gets a list of catalogs including and under the given catalog node in which any catalog enabler can be assigned.

Parametersosid.id.IdcatalogIdthe Id of the Catalog
Returnosid.id.IdListlist of assignable catalog Ids
ErrorsNULL_ARGUMENT catalogId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCatalogIdsForCatalogEnabler
Description

Gets a list of catalogs including and under the given catalog node in which a specific catalog enabler can be assigned.

Parametersosid.id.IdcatalogIdthe Id of the Catalog
osid.id.IdcatalogEnablerIdthe Id of the CatalogEnabler
Returnosid.id.IdListlist of assignable catalog Ids
ErrorsNULL_ARGUMENT catalogId or catalogEnablerId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignCatalogEnablerToCatalog
Description

Adds an existing CatalogEnabler to a Catalog.

Parametersosid.id.IdcatalogEnablerIdthe Id of the CatalogEnabler
osid.id.IdcatalogIdthe Id of the Catalog
ErrorsALREADY_EXISTS catalogEnablerId is already assigned to catalogId
NOT_FOUND catalogEnablerId or catalogId not found
NULL_ARGUMENT catalogEnablerId or catalogId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignCatalogEnablerFromCatalog
Description

Removes a CatalogEnabler from a Catalog.

Parametersosid.id.IdcatalogEnablerIdthe Id of the CatalogEnabler
osid.id.IdcatalogIdthe Id of the Catalog
ErrorsNOT_FOUND catalogEnablerId or catalogId not found or catalogEnablerId is not assigned to catalogId
NULL_ARGUMENT catalogEnablerId or catalogId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignCatalogEnablerToCatalog
Description

Moves a CatalogEnabler from one Catalog to another. Mappings to other Catalogs are unaffected.

Parametersosid.id.IdcatalogEnablerIdthe Id of the CatalogEnabler
osid.id.IdfromCatalogIdthe Id of the current Catalog
osid.id.IdtoCatalogIdthe Id of the destination Catalog
ErrorsNOT_FOUND catalogEnablerId, fromCatalogEnablerId, or toCatalogEnablerId not found or catalogEnablerId not mapped to fromCatalogId
NULL_ARGUMENT catalogEnablerId, fromCatalogId, or toCatalogId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.