Interface DeviceEnablerRuleLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DeviceEnablerRuleLookupSession extends OsidSession

This session provides methods to retrieve DeviceEnabler to Device mappings. A Device with multiple DeviceEnablers means any positive rule evaluation across the enablers result in an effective Device .

This lookup session defines several views:

  • comparative view: elements may be silently omitted or re-ordered
  • plenary view: provides a complete result set or is an error condition
  • isolated system view: All methods in this session operate, retrieve and pertain device enablers defined explicitly in the current system.
  • federated system view: All methods in this session operate, retrieve and pertain to all device enablers defined in this system and any other device enablers implicitly available in this system through system inheritence.
  • 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.
    • canLookupDeviceEnablerRules

      boolean canLookupDeviceEnablerRules()
      Tests if this user can perform lookups of device enabler/device mappings. A return of true does not guarantee successful authorization. A return of false indicates that it is known lookup 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 lookup operations to unauthorized users.
      Returns:
      false if looking up mappings is not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeDeviceEnablerRuleView

      void useComparativeDeviceEnablerRuleView()
      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.
    • usePlenaryDeviceEnablerRuleView

      void usePlenaryDeviceEnablerRuleView()
      A complete view of the DeviceEnabler and Device 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.
    • useFederatedSystemView

      void useFederatedSystemView()
      Federates the view for methods in this session. A federated view will include device enablers 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 lookups to this system only.
      Compliance:
      mandatory - This method is must be implemented.
    • getDeviceEnablerIdsForDevice

      IdList getDeviceEnablerIdsForDevice(Id deviceId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the DeviceEnabler Id associated with a Device .
      Parameters:
      deviceId - Id of the Device
      Returns:
      the device enabler Ids
      Throws:
      NotFoundException - deviceId is not found
      NullArgumentException - device is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDeviceEnablersForDevice

      Gets the DeviceEnablers associated with a Device .
      Parameters:
      deviceId - Id of the Device
      Returns:
      the device enablers
      Throws:
      NotFoundException - deviceId is not found
      NullArgumentException - deviceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDeviceIdsForDeviceEnabler

      IdList getDeviceIdsForDeviceEnabler(Id deviceEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Device Ids mapped to a DeviceEnabler .
      Parameters:
      deviceEnablerId - Id of a DeviceEnabler
      Returns:
      list of device Ids
      Throws:
      NotFoundException - deviceEnablerId is not found
      NullArgumentException - deviceEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getDevicesForDeviceEnabler

      DeviceList getDevicesForDeviceEnabler(Id deviceEnablerId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Gets the Devices mapped to a DeviceEnabler .
      Parameters:
      deviceEnablerId - Id of a DeviceEnabler
      Returns:
      list of devices
      Throws:
      NotFoundException - deviceEnablerId is not found
      NullArgumentException - deviceEnablerId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.