Interface InquestNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface InquestNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Inquests . This session is intended for consumers needing to synchronize their state with this service without the use of polling. Notifications are cancelled when this session is closed.

  • Method Details

    • canRegisterForInquestNotifications

      boolean canRegisterForInquestNotifications()
      Tests if this user can register for Inquest notifications. 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 notification operations.
      Returns:
      false if notification methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • reliableInquestNotifications

      void reliableInquestNotifications()
      Reliable notifications are desired. In reliable mode, notifications are to be acknowledged using acknowledgeInquestNotification() .
      Compliance:
      mandatory - This method is must be implemented.
    • unreliableInquestNotifications

      void unreliableInquestNotifications()
      Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.
      Compliance:
      mandatory - This method is must be implemented.
    • acknowledgeInquestNotification

      void acknowledgeInquestNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge an inquest notification.
      Parameters:
      notificationId - the Id of the notification
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewInquests

      void registerForNewInquests() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new inquests. InquestReceiver.newInquests() is invoked when a new Inquest is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquests

      void registerForChangedInquests() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated inquests. InquestReceiver.changedInquests() is invoked when an inquest is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquest

      void registerForChangedInquest(Id inquestId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated inquest. InquestReceiver.changedInquests() is invoked when the specified inquest is changed.
      Parameters:
      inquestId - the Id of the Inquest to monitor
      Throws:
      NullArgumentException - inquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedInquests

      void registerForDeletedInquests() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted inquests. InquestReceiver.deletedInquests() is invoked when an inquest is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedInquest

      void registerForDeletedInquest(Id inquestId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted inquest. InquestReceiver.deletedInquests() is invoked when the specified inquest is deleted.
      Parameters:
      inquestId - the Id of the Inquest to monitor
      Throws:
      NullArgumentException - inquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquestHierarchy

      void registerForChangedInquestHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated inquest hierarchy structure. InquestReceiver.changedChildOfInquests() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquestHierarchyForAncestors

      void registerForChangedInquestHierarchyForAncestors(Id inquestId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated inquest hierarchy structure. InquestReceiver.changedChildOfInquests() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      inquestId - the Id of the Inquest node to monitor
      Throws:
      NullArgumentException - inquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquestHierarchyForDescendants

      void registerForChangedInquestHierarchyForDescendants(Id inquestId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated inquest hierarchy structure. InquestReceiver.changedChildOfInquests() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      inquestId - the Id of the Inquest node to monitor
      Throws:
      NullArgumentException - inquestId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.