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

This session provides methods for retrieving Engine objects. The Engine represents a collection of rules.

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

Generally, the comparative view should be used for most applications as it permits operation even if there is data that cannot be accessed. For example, a browsing application may only need to examine the Engines it can access, without breaking execution. However, an assessment may only be useful if all Engines referenced by it are available, and a test-taking applicationmay sacrifice some interoperability for the sake of precision.

MethodcanLookupEngines
Description

Tests if this user can perform Engine 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 not offer lookup operations to unauthorized users.

Returnboolean false if lookup methods are not authorized, true otherwise
CompliancemandatoryThis method must be implemented.
MethoduseComparativeEngineView
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.
MethodusePlenaryEngineView
Description

A complete view of the Engine 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.
MethodgetEngine
Description

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

Parametersosid.id.IdengineId Id of the Engine
Returnosid.rules.Enginethe engine
ErrorsNOT_FOUND engineId not found
NULL_ARGUMENT engineId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetEnginesByIds
Description

Gets an EngineList corresponding to the given IdList. In plenary mode, the returned list contains all of the engines 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 Engines may be omitted from the list and may present the elements in any order including returning a unique set.

Parametersosid.id.IdListengineIdsthe list of Ids to retrieve
Returnosid.rules.EngineListthe returned Engine list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT engineIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetEnginesByGenusType
Description

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

Parametersosid.type.TypeengineGenusTypean engine genus type
Returnosid.rules.EngineListthe returned Engine list
ErrorsNULL_ARGUMENT engineGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetEnginesByParentGenusType
Description

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

Parametersosid.type.TypeengineGenusTypean engine genus type
Returnosid.rules.EngineListthe returned Engine list
ErrorsNULL_ARGUMENT engineGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetEnginesByRecordType
Description

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

Parametersosid.type.TypeengineRecordTypea engine record type
Returnosid.rules.EngineListthe returned Engine list
ErrorsNULL_ARGUMENT engineRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetEnginesByProvider
Description

Gets an EngineList from the given provider. In plenary mode, the returned list contains all known engines or an error results. Otherwise, the returned list may contain only those engines that are accessible through this session.

Parametersosid.id.IdresourceIda resource Id
Returnosid.rules.EngineListthe returned Engine list
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetEngines
Description

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

Returnosid.rules.EngineLista list of Engines
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.