OSID Logo
OSID Specifications
hold rules package
Version 3.0.0
Release Candidate Preview
Interfaceosid.hold.rules.HoldEnablerOublietteAssignmentSession
Implementsosid.OsidSession
Description

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

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

MethodcanAssignHoldEnablers
Description

Tests if this user can alter hold enabler/oubliette 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.
MethodcanAssignHoldEnablersToOubliette
Description

Tests if this user can alter hold enabler/oubliette 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.IdoublietteIdthe Id of the Oubliette
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT oublietteId is null
CompliancemandatoryThis method must be implemented.
MethodgetAssignableOublietteIds
Description

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

Parametersosid.id.IdoublietteIdthe Id of the Oubliette
Returnosid.id.IdListlist of assignable hold Ids
ErrorsNULL_ARGUMENT oublietteId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodgetAssignableOublietteIdsForHoldEnabler
Description

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

Parametersosid.id.IdoublietteIdthe Id of the Oubliette
osid.id.IdholdEnablerIdthe Id of the HoldEnabler
Returnosid.id.IdListlist of assignable oubliette Ids
ErrorsNULL_ARGUMENT oublietteId or holdEnablerId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignHoldEnablerToOubliette
Description

Adds an existing HoldEnabler to a Oubliette.

Parametersosid.id.IdholdEnablerIdthe Id of the HoldEnabler
osid.id.IdoublietteIdthe Id of the Oubliette
ErrorsALREADY_EXISTS holdEnablerId is already assigned to oublietteId
NOT_FOUND holdEnablerId or oublietteId not found
NULL_ARGUMENT holdEnablerId or oublietteId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodunassignHoldEnablerFromOubliette
Description

Removes a HoldEnabler from a Oubliette.

Parametersosid.id.IdholdEnablerIdthe Id of the HoldEnabler
osid.id.IdoublietteIdthe Id of the Oubliette
ErrorsNOT_FOUND holdEnablerId or oublietteId not found or holdEnablerId is not assigned to oublietteId
NULL_ARGUMENT holdEnablerId or oublietteId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignHoldEnablerToOubliette
Description

Moves a HoldEnabler from one Oubliette to another. Mappings to other Oubliettes are unaffected.

Parametersosid.id.IdholdEnablerIdthe Id of the HoldEnabelr
osid.id.IdfromOublietteIdthe Id of the current Oubliette
osid.id.IdtoOublietteIdthe Id of the destination Oubliette
ErrorsNOT_FOUND holdEnabler, fromOublietteId, or toOublietteId not found or holdEnablerId not mapped to fromOublietteId
NULL_ARGUMENT holdEnablerId, fromOublietteId, or toOublietteId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.