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.