| Interface | osid.metering.StatisticLookupSession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | 
                 This session is used to retrieve statistics from a meter. This lookup session defines several views: 
  | ||
| Method | getUtilityId | ||
| Description | 
                     Gets the   | ||
| Return | osid.id.Id | the  Utility Id  associated with this session  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getUtility | ||
| Description | 
                     Gets the   | ||
| Return | osid.metering.Utility | the utility | |
| Errors | OPERATION_FAILED | unable to complete request | |
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | canGetMeterStatistics | ||
| Description | 
                     Tests if this user can retrieve meter statistics. 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   | ||
| Return | boolean |  false  if metering methods are not authorized,  true 
 otherwise  | |
| Compliance | mandatory | This method must be implemented. | |
| Method | useComparativeMeterView | ||
| 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.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | usePlenaryMeterView | ||
| Description | 
                     A complete view of the 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.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useFederatedUtilityView | ||
| Description | 
                     Federates the view for methods in this session. A federated view will include meters in utilities which are children of this utility in the utility hierarchy.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useIsolatedUtilityView | ||
| Description | 
                     Isolates the view for methods in this session. An isolated view restricts retrievals to this utility only.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useBoundedMeteredView | ||
| Description | 
                     If the supplied dates are beyond the lifetime of the metered object, bound the statistics to the dates of the lifetime.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | useUnboundedMeteredView | ||
| Description | 
                     If the supplied dates are beyond the lifetime of the metered object, the readings that do not exist are zero.  | ||
| Compliance | mandatory | This method is must be implemented. | |
| Method | getAvailableDateRange | ||
| Description | 
                     Gets the date range of the available statistics for a metered object.  | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter   | 
osid.id.Id | meteredObjectId | the  Id  of the metered object  | |
| Return | osid.calendaring.DateTimeInterval | the date range of the available statistics | |
| Errors | NOT_FOUND | no  Meter  or metered object found with the given  Id 
 or no data available  |                 |
| NULL_ARGUMENT |  meterId  or  meteredObjectId  is  null 
  |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getStatistic | ||
| Description | 
                     Gets a statistic for the   | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter   | 
osid.id.Id | meteredObjectId | the  Id  of the metered object  | |
| Return | osid.metering.Statistic | the meter stat | |
| Errors | NOT_FOUND | no  Meter  or metered object found with the given  Id 
  |                 |
| NULL_ARGUMENT |  meterId  or  meteredObjectId  is  null 
  |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getStatisticByDate | ||
| Description | 
                     Gets a statistic within a period of time of the   | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter   | 
osid.id.Id | meteredObjectId | the  Id  of the metered object  | |
osid.calendaring.DateTime | from | the start time | |
osid.calendaring.DateTime | to | the end time | |
| Return | osid.metering.Statistic | the meter stat | |
| Errors | INVALID_ARGUMENT |  to  is less than  from   |                 |
| NOT_FOUND | no  Meter  or metered object found with the given  Id 
 or no data available within the given date range  |                 ||
| NULL_ARGUMENT |  meterId, meteredObjectId, from  or  to  is 
 null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getStatistics | ||
| Description | 
                     Gets the statistics for the given metered object   | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter   | 
osid.id.IdList | meteredObjectIds | the  Id  of the metered object  | |
| Return | osid.metering.StatisticList | the returned  Statistic  list  | |
| Errors | NOT_FOUND |  meterId  or an  Id was  not found  |                 |
| NULL_ARGUMENT |  meterId  or  meteredObjects  is  null 
  |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getStatisticsByDate | ||
| Description | 
                     Gets the statistics within a period of time 
                    corresponding to the given metered object   | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter   | 
osid.id.IdList | meteredObjectIds | the  Id  of the metered object  | |
osid.calendaring.DateTime | from | the start time | |
osid.calendaring.DateTime | to | the end time | |
| Return | osid.metering.StatisticList | the returned  Statistic  list  | |
| Errors | INVALID_ARGUMENT |  to  is less than  from   |                 |
| NOT_FOUND |  meterId  or an  Id was  not found or no data 
available within the given date range  |                 ||
| NULL_ARGUMENT |  meterId, meteredObjects, from  or  to  is  
null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | getStatisticsAtInterval | ||
| Description | 
                     Gets the statistics for a metered object within a period of time at consecutive specified intervals. In plenary mode, the returned list contains all of the statistics requested or an error results data in the supplied date range is not found or inaccessible. Otherwise, inaccessible statistics or statistics not contained within the given date range may be omitted from the list and may present the elements in any order including returning a unique set.  | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter   | 
osid.id.Id | meteredObjectId | the  Id  of the metered object  | |
osid.calendaring.DateTime | from | the start time | |
osid.calendaring.DateTime | to | the end time | |
osid.calendaring.DateTimeResolution | interval | the interval | |
| Return | osid.metering.StatisticList | the returned  Statistic  list  | |
| Errors | INVALID_ARGUMENT |  to  is less than  from   |                 |
| NOT_FOUND |  meterId  or an  Id was  not found or no data 
available within the given date range  |                 ||
| NULL_ARGUMENT |  meterId, meteredObjectId, from, to  or  interval 
 is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |