Interface DeviceQuerySession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
All Known Subinterfaces:
DeviceSearchSession

public interface DeviceQuerySession extends OsidSession

This session provides methods for searching among Devices. The search query is constructed using the DeviceQuery.

This session defines views that offer differing behaviors for searching.

  • federated system view: searches include devices in systems of which this system is an ancestor in the system hierarchy
  • isolated system view: searches are restricted to devices in this system

Devices may have a query record indicated by their respective record types. The query record is accessed via the DeviceQuery.

  • Method Details

    • getSystemId

      Id getSystemId()
      Gets the System Id associated with this session.
      Returns:
      the System Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getSystem

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

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

      void useFederatedSystemView()
      Federates the view for methods in this session. A federated view will include devices in systems which are children of this system in the system hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedSystemView

      void useIsolatedSystemView()
      Isolates the view for methods in this session. An isolated view restricts searches to this system only.
      Compliance:
      mandatory - This method is must be implemented.
    • getDeviceQuery

      DeviceQuery getDeviceQuery()
      Gets a device query.
      Returns:
      the device query
      Compliance:
      mandatory - This method must be implemented.
    • getDevicesByQuery

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