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

This session provides methods to re-assign Blocks to Oubliette mappings. A Block may appear in multiple Oubliette objects and removing the last reference to a Block 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 Block to another Oubliette is not a copy operation (eg: does not change its Id ).

MethodcanAssignBlocks
Description

Tests if this user can alter block/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 hold is not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethodcanAssignBlocksToOubliette
Description

Tests if this user can alter block/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 block 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.
MethodgetAssignableOublietteIdsForBlock
Description

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

Parametersosid.id.IdoublietteIdthe Id of the Oubliette
osid.id.IdblockIdthe Id of the Block
Returnosid.id.IdListlist of assignable oubliette Ids
ErrorsNULL_ARGUMENT oublietteId or blockId is null
OPERATION_FAILEDunable to complete request
CompliancemandatoryThis method must be implemented.
MethodassignBlockToOubliette
Description

Adds an existing Block to a Oubliette.

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

Removes a Block from a Oubliette.

Parametersosid.id.IdblockIdthe Id of the Block
osid.id.IdoublietteIdthe Id of the Oubliette
ErrorsNOT_FOUND blockId or oublietteId not found or blockId is not assigned to oublietteId
NULL_ARGUMENT blockId or oublietteId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodreassignBlockToOubliette
Description

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

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