OSID Logo
OSID Specifications
offering package
Version 3.0.0
Release Candidate Preview
Interfaceosid.offering.CanonicalUnitCatalogueAssignmentSession
Implementsosid.OsidSession
Description

This session provides methods to re-assign CanonicalUnits to Bilings. 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.

Returnboolean false 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
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT catalogueId 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_ARGUMENT catalogueId 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_ARGUMENT catalogueId 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_EXISTS canonicalUnitId already assigned to catalogueId
NOT_FOUND canonicalUnitId or catalogueId not found
NULL_ARGUMENT canonicalUnitId 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_FOUND canonicalUnitId or catalogueId not found or canonicalUnitId not mapped to catalogueId
NULL_ARGUMENT canonicalUnitId or catalogueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.