Interface MeterQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
MeterSearchSession, StatisticSearchSession

public interface MeterQuerySession extends OsidSession

This session provides methods for searching among meters. The search query is constructed using the MeterQuery .

This session defines views that offer differing behaviors for searching.

  • federated utility view: searches include meters in utilities of which this utility is an ancestor in the utility hierarchy
  • isolated utility view: searches are restricted to meters in this utility only
  • Method Details

    • getUtilityId

      Id getUtilityId()
      Gets the Utility Id associated with this session.
      Returns:
      the Utility Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getUtility

      Gets the Utility associated with this session.
      Returns:
      the Utility associated with this session
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canSearchMeters

      boolean canSearchMeters()
      Tests if this user can perform Meter searches. 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 search operations to unauthorized users.
      Returns:
      false if search methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useFederatedUtilityView

      void useFederatedUtilityView()
      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.
    • useIsolatedUtilityView

      void useIsolatedUtilityView()
      Isolates the view for methods in this session. An isolated view restricts lookups to this utility only.
      Compliance:
      mandatory - This method is must be implemented.
    • getMeterQuery

      MeterQuery getMeterQuery()
      Gets a meter query.
      Returns:
      the meter query
      Compliance:
      mandatory - This method must be implemented.
    • getMetersByQuery

      Gets a list of meters matching the given meter query.
      Parameters:
      meterQuery - the meter query
      Returns:
      the returned MeterList
      Throws:
      NullArgumentException - meterQuery is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      UnsupportedException - meterQuery is not of this service
      Compliance:
      mandatory - This method must be implemented.