OSID Logo
OSID Specifications
billing package
Version 3.0.0
Release Candidate Preview
Interfaceosid.billing.PeriodLookupSession
Implementsosid.OsidSession
Description

This session provides methods for retrieving Period objects. The Period represents a billing.

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 business view: All period methods in this session operate, retrieve and pertain to periods defined explicitly in the current business. Using an isolated view is useful for managing Periods with the PeriodAdminSession.
  • federated business view: All period methods in this session operate, retrieve and pertain to all periods defined in this business and any other periods implicitly available in this business through business 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 useFederatedBusinessView() and useIsolatedBusinessView() behave as a radio group and one should be selected before invoking any lookup methods.

MethodgetBusinessId
Description

Gets the Business Id associated with this session.

Returnosid.id.Idthe Business Id associated with this session
CompliancemandatoryThis method must be implemented.
MethodgetBusiness
Description

Gets the Business associated with this session.

Returnosid.billing.Businessthe business
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodcanLookupPeriods
Description

Tests if this user can perform Period 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.
MethoduseComparativePeriodView
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.
MethodusePlenaryPeriodView
Description

A complete view of the Period 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.
MethoduseFederatedBusinessView
Description

Federates the view for methods in this session. A federated view will include periods in businesses which are children of this business in the business hierarchy.

CompliancemandatoryThis method is must be implemented.
MethoduseIsolatedBusinessView
Description

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

CompliancemandatoryThis method is must be implemented.
MethodgetPeriod
Description

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

Parametersosid.id.IdperiodId Id of the Period
Returnosid.billing.Periodthe period
ErrorsNOT_FOUND periodId not found
NULL_ARGUMENT periodId is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method is must be implemented.
MethodgetPeriodsByIds
Description

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

Parametersosid.id.IdListperiodIdsthe list of Ids to retrieve
Returnosid.billing.PeriodListthe returned Period list
ErrorsNOT_FOUNDan Id was not found
NULL_ARGUMENT periodIds is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetPeriodsByGenusType
Description

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

Parametersosid.type.TypeperiodGenusTypea period genus type
Returnosid.billing.PeriodListthe returned Period list
ErrorsNULL_ARGUMENT periodGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetPeriodsByParentGenusType
Description

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

Parametersosid.type.TypeperiodGenusTypea period genus type
Returnosid.billing.PeriodListthe returned Period list
ErrorsNULL_ARGUMENT periodGenusType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetPeriodsByRecordType
Description

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

Parametersosid.type.TypeperiodRecordTypea period record type
Returnosid.billing.PeriodListthe returned Period list
ErrorsNULL_ARGUMENT periodRecordType is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetPeriodsOnDate
Description

Gets a PeriodList where to the given DateTime range falls within the period inclusive. Periods containing the given date are matched. In plenary mode, the returned list contains all of the periods 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 Periods may be omitted from the list including returning a unique set.

Parametersosid.calendaring.DateTimefromstart of date range
osid.calendaring.DateTimetoend of date range
Returnosid.billing.PeriodListthe returned Period list
ErrorsINVALID_ARGUMENT from is greater than to
NULL_ARGUMENT from or to is null
OPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.
MethodgetPeriods
Description

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

Returnosid.billing.PeriodLista list of Periods
ErrorsOPERATION_FAILEDunable to complete request
PERMISSION_DENIEDauthorization failure
CompliancemandatoryThis method must be implemented.