OSID Logo
OSID Specifications
metering package
Version 3.0.0
Release Candidate Preview
Interfaceosid.metering.UtilityLookupSession
Implementsosid.OsidSession
Description

This session provides methods for retrieving Utility objects. The Utility represents a collection of meters.

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 Utilities it can access, without breaking execution. However, an assessment may only be useful if all Utilities referenced by it are available, and a test-taking applicationmay sacrifice some interoperability for the sake of precision.

MethodcanLookupUtilities
Description

Tests if this user can perform Utility 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.
MethoduseComparativeUtilityView
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.
MethodusePlenaryUtilityView
Description

A complete view of the Utility 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.
MethodgetUtility
Description

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

Parametersosid.id.IdutilityId Id of the Utility
Returnosid.metering.Utilitythe utility
ErrorsNOT_FOUND utilityId not found
NULL_ARGUMENT utilityId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetUtilitiesByIds
Description

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

Parametersosid.id.IdListutilityIdsthe list of Ids to retrieve
Returnosid.metering.UtilityListthe returned Utility list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT utilityIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetUtilitiesByGenusType
Description

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

Parametersosid.type.TypeutilityGenusTypea utility genus type
Returnosid.metering.UtilityListthe returned Utility list
ErrorsNULL_ARGUMENT utilityGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetUtilitiesByParentGenusType
Description

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

Parametersosid.type.TypeutilityGenusTypea utility genus type
Returnosid.metering.UtilityListthe returned Utility list
ErrorsNULL_ARGUMENT utilityGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetUtilitiesByRecordType
Description

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

Parametersosid.type.TypeutilityRecordTypea utility record type
Returnosid.metering.UtilityListthe returned Utility list
ErrorsNULL_ARGUMENT utilityRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetUtilitiesByProvider
Description

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

Parametersosid.id.IdresourceIda resource Id
Returnosid.metering.UtilityListthe returned Utility list
ErrorsNULL_ARGUMENT resourceId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetUtilities
Description

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

Returnosid.metering.UtilityLista list of Utilities
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.