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

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

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

MethodcanAssignHolds
Description

Tests if this user can alter hold/oubliette mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known issue 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.
MethodcanAssignHoldsToOubliette
Description

Tests if this user can alter hold/oubliette mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known issue 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 hold can be assigned.

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

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

Parametersosid.id.IdoublietteIdthe Id of the Oubliette
osid.id.IdholdIdthe Id of the Hold
Returnosid.id.IdListlist of assignable oubliette Ids
ErrorsNULL_ARGUMENT oublietteId or holdId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignHoldToOubliette
Description

Adds an existing Hold to a Oubliette.

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

Removes a Hold from a Oubliette.

Parametersosid.id.IdholdIdthe Id of the Hold
osid.id.IdoublietteIdthe Id of the Oubliette
ErrorsNOT_FOUND holdId or oublietteId not found or holdId not assigned to oublietteId
NULL_ARGUMENT holdId or oublietteId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignHoldToOubliette
Description

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

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