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

This session provides methods for retrieving Block objects.

This session defines views that offer differing behaviors when retrieving multiple objects.

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete set or is an error condition
  • isolated oubliette view: All block methods in this session operate, retrieve and pertain to blocks defined explicitly in the current oubliette. Using an isolated view is useful for managing Blocks with the BlockAdminSession.
  • federated oubliette view: All block methods in this session operate, retrieve and pertain to all blocks defined in this oubliette and any other blocks implicitly available in this oubliette through oubliette inheritence.

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. The methods useFederatedOublietteView() and useIsolatedOublietteView() behave as a radio group and one should be selected before invoking any lookup methods.

MethodgetOublietteId
Description

Gets the Oubliette Id associated with this session.

Returnosid.id.Idthe Oubliette Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetOubliette
Description

Gets the Oubliette associated with this session.

Returnosid.hold.Oubliettethe oubliette
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanLookupBlocks
Description

Tests if this user can perform Block lookups. A return of true does not guarantee successful authorization. A return of false indicates that it is known all 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 lookup methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeBlockView
Description

The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.

CompliancemandatoryThis method is must be implemented.
MethodusePlenaryBlockView
Description

A complete view of the Block returns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.

CompliancemandatoryThis method is must be implemented.
MethoduseFederatedOublietteView
Description

Federates the view for methods in this session. A federated view will include blocks in oubliettes which are children of this oubliette in the oubliette hierarchy.

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedOublietteView
Description

Isolates the view for methods in this session. An isolated view restricts lookups to this oubliette only.

CompliancemandatoryThis method is must be implemented.
MethodgetBlock
Description

Gets the Block specified by its Id. In plenary mode, the exact Id is found or a NOT_FOUND results. Otherwise, the returned Block may have a different Id than requested, such as the case where a duplicate Id was assigned to a Block and retained for compatibility.

Parametersosid.id.IdblockId Id of the Block
Returnosid.hold.Blockthe block
ErrorsNOT_FOUND blockId not found
NULL_ARGUMENT blockId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetBlocksByIds
Description

Gets a BlockList corresponding to the given IdList. In plenary mode, the returned list contains all of the blocks specified in the Id list, in the order of the list, including duplicates, or an error results if an Id in the supplied list is not found or inaccessible. Otherwise, inaccessible Blocks may be omitted from the list and may present the elements in any order including returning a unique set.

Parametersosid.id.IdListblockIdsthe list of Ids to retrieve
Returnosid.hold.BlockListthe returned Block list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT blockIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetBlocksByGenusType
Description

Gets a BlockList corresponding to the given block genus Type which does not include blocks of genus types derived from the specified Type. In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.

Parametersosid.type.TypeblockGenusTypea block genus type
Returnosid.hold.BlockListthe returned Block list
ErrorsNULL_ARGUMENT blockGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetBlocksByParentGenusType
Description

Gets a BlockList corresponding to the given block genus Type and include any additional blocks with genus types derived from the specified Type. In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.

Parametersosid.type.TypeblockGenusTypea block genus type
Returnosid.hold.BlockListthe returned Block list
ErrorsNULL_ARGUMENT blockGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetBlocksByRecordType
Description

Gets a BlockList containing the given block record Type. In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.

Parametersosid.type.TypeblockRecordTypea block record type
Returnosid.hold.BlockListthe returned Block list
ErrorsNULL_ARGUMENT blockRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetBlocksForIssue
Description

Gets a BlockList mapped to the given Issue In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.

Parametersosid.id.IdissueIdan issue Id
Returnosid.hold.BlockListthe returned Block list
ErrorsNULL_ARGUMENT issueId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetBlocks
Description

Gets all Blocks. In plenary mode, the returned list contains all known blocks or an error results. Otherwise, the returned list may contain only those blocks that are accessible through this session.

Returnosid.hold.BlockLista list of Blocks
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.