| Interface | osid.metering.MeterReadingSession | ||
|---|---|---|---|
| Implements | osid.OsidSession | ||
| Description | 
                 This session is used to read meters. This reading 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 | canReadMeters | ||
| Description | 
                     Tests if this user can read meters. 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 | readMeter | ||
| Description | 
                     Gets the reading of the   | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter  to retrieve  | 
osid.id.Id | meteredObjectId | the  Id  of the  Metered  to retrieve  | |
| Return | osid.metering.Reading | the meter reading | |
| Errors | NOT_FOUND | no  Meter  found with the given  Id   |                 |
| NULL_ARGUMENT |  meterId  is  null   |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |
| Method | readMeters | ||
| Description | 
                     Gets a   | ||
| Parameters | osid.id.Id | meterId | the  Id  of the  Meter  to retrieve  | 
osid.id.IdList | meteredObjectIds | the  Ids  of the metered objects to retrieve  | |
| Return | osid.metering.ReadingList | the returned  Reading  list  | |
| Errors | NOT_FOUND |  meterId  or an  Id was  not found  |                 |
| NULL_ARGUMENT |  meterI  d or  meteredObjectIds  is  null 
  |                 ||
| OPERATION_FAILED | unable to complete request | ||
| PERMISSION_DENIED | authorization failure | ||
| Compliance | mandatory | This method must be implemented. | |