OSID Logo
OSID Specifications
hold package
Version 3.1.0
Interfaceosid.hold.BlockOublietteAssignmentSession
Implementsosid.OsidSession
Used Byosid.hold.HoldManager
osid.hold.HoldProxyManager
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
Compliancemandatory This 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.IdoublietteId the Id of the Oubliette
Returnboolean false if mapping is not authorized, true otherwise
ErrorsNULL_ARGUMENT oublietteId is null
Compliancemandatory This 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.IdoublietteId the Id of the Oubliette
Returnosid.id.IdList list of assignable oubliette Ids
ErrorsNULL_ARGUMENT oublietteId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This 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.IdoublietteId the Id of the Oubliette
osid.id.IdblockId the Id of the Block
Returnosid.id.IdList list of assignable oubliette Ids
ErrorsNULL_ARGUMENT oublietteId or blockId is null
OPERATION_FAILED unable to complete request
Compliancemandatory This method must be implemented.
MethodassignBlockToOubliette
Description

Adds an existing Block to an Oubliette.

Parametersosid.id.IdblockId the Id of the Block
osid.id.IdoublietteId the 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_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodunassignBlockFromOubliette
Description

Removes a Block from an Oubliette.

Parametersosid.id.IdblockId the Id of the Block
osid.id.IdoublietteId the 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_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.
MethodreassignBlockToOubliette
Description

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

Parametersosid.id.IdblockId the Id of the Block
osid.id.IdfromOublietteId the Id of the current Oubliette
osid.id.IdtoOublietteId the Id of the destination Oubliette
ErrorsALREADY_EXISTS blockId already assigned to toOublietteId
NOT_FOUND blockId, fromOublietteId, or toOublietteId not found or blockId not mapped to fromOublietteId
NULL_ARGUMENT blockId, fromOublietteId, or toOublietteId is null
OPERATION_FAILED unable to complete request
PERMISSION_DENIED authorization failure
Compliancemandatory This method must be implemented.