OSID Logo
OSID Specifications
offering package
Version 3.0.0
Interfaceosid.offering.CanonicalUnitCatalogueAssignmentSession
Implementsosid.OsidSession
Used Byosid.offering.OfferingManager
osid.offering.OfferingProxyManager
Description

This session provides methods to re-assign CanonicalUnits to Catalogues . A CanonicalUnit may map to multiple Catalogues and removing the last reference to a CanonicalUnit is the equivalent of deleting it. Each Catalogue may have its own authorizations governing who is allowed to operate on it.

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

MethodcanAssignCanonicalUnits
Description

Tests if this user can alter canonical unit/catalogue 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.

Returnbooleanfalse if mapping is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignCanonicalUnitsToCatalogue
Description

Tests if this user can alter canonical unit/catalogue 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 assignment operations to unauthorized users.

Parametersosid.id.IdcatalogueIdthe Id of the Catalogue
Returnbooleanfalse if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENTcatalogueId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCatalogueIds
Description

Gets a list of catalogues including and under the given catalogue node in which any canonical unit can be assigned.

Parametersosid.id.IdcatalogueIdthe Id of the Catalogue
Returnosid.id.IdListlist of assignable catalogue Ids
ErrorsNULL_ARGUMENTcatalogueId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableCatalogueIdsForCanonicalUnit
Description

Gets a list of catalogues including and under the given catalogue node in which a specific canonical unit can be assigned.

Parametersosid.id.IdcatalogueIdthe Id of the Catalogue
osid.id.IdcanonicalUnitIdthe Id of the CanonicalUnit
Returnosid.id.IdListlist of assignable catalogue Ids
ErrorsNULL_ARGUMENTcatalogueId or canonicalUnitId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignCanonicalUnitToCatalogue
Description

Adds an existing CanonicalUnit to a Catalogue .

Parametersosid.id.IdcanonicalUnitIdthe Id of the CanonicalUnit
osid.id.IdcatalogueIdthe Id of the Catalogue
ErrorsALREADY_EXISTScanonicalUnitId already assigned to catalogueId
NOT_FOUNDcanonicalUnitId or catalogueId not found
NULL_ARGUMENTcanonicalUnitId or catalogueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignCanonicalUnitFromCatalogue
Description

Removes a CanonicalUnit from a Catalogue .

Parametersosid.id.IdcanonicalUnitIdthe Id of the CanonicalUnit
osid.id.IdcatalogueIdthe Id of the Catalogue
ErrorsNOT_FOUNDcanonicalUnitId or catalogueId not found or canonicalUnitId not mapped to catalogueId
NULL_ARGUMENTcanonicalUnitId or catalogueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignCanonicalUnitToCatalogue
Description

Moves a CanonicalUnit from one Catalogue to another. Mappings to other Catalogues are unaffected.

Parametersosid.id.IdcanonicalUnitIdthe Id of the CanonicalUnit
osid.id.IdfromCatalogueIdthe Id of the current Catalogue
osid.id.IdtoCatalogueIdthe Id of the destination Catalogue
ErrorsALREADY_EXISTScanonicalUnitId already assigned to toCatalogueId
NOT_FOUNDcanonicalUnitId, fromCatalogueId , or toCatalogueId not found or canonicalUnitId not mapped to fromCatalogueId
NULL_ARGUMENTcanonicalUnitId, fromCatalogueId , or toCatalogueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.