Interface InquiryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface InquiryNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Inquiries in this Inquest . This also includes existing inquiries that may appear or disappear due to changes in the Inquest hierarchy, 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.

The two views defined in this session correspond to the views in the InquiryLookupSession .

  • Method Details

    • getInquestId

      Id getInquestId()
      Gets the Inquest Id associated with this session.
      Returns:
      the Inquest Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getInquest

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

      boolean canRegisterForInquiryNotifications()
      Tests if this user can register for Inquiry 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.
    • useFederatedInquestView

      void useFederatedInquestView()
      Federates the view for methods in this session. A federated view will include inquiries in inquests which are children of this inquest in the inquest hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedInquestView

      void useIsolatedInquestView()
      Isolates the view for methods in this session. An isolated view restricts notifications to this inquest only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableInquiryNotifications

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

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

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

      void registerForNewInquiries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new inquiries. InquiryReceiver.newInquiries() is invoked when a new Inquiry appears in this inquest.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewInquiriesForAudit

      void registerForNewInquiriesForAudit(Id auditId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new inquiries for the given audit Id . InquiryReceiver.newInquiries() is invoked when a new Inquiry is created.
      Parameters:
      auditId - the Id of the audit to monitor
      Throws:
      NullArgumentException - auditId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquiries

      void registerForChangedInquiries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated inquiries. InquiryReceiver.changedInquiries() is invoked when an inquiry in this inquest is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquiriesForAudit

      void registerForChangedInquiriesForAudit(Id auditId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated inquiries for the given audit Id . InquiryReceiver.changedInquiries() is invoked when an inquiry in this inquest is changed.
      Parameters:
      auditId - the Id of the audit to monitor
      Throws:
      NullArgumentException - auditId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedInquiry

      void registerForChangedInquiry(Id inquiryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated inquiry. InquiryReceiver.changedInquiries() is invoked when the specified inquiry in this inquest is changed.
      Parameters:
      inquiryId - the Id of the Inquiry to monitor
      Throws:
      NullArgumentException - inquiryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedInquiries

      void registerForDeletedInquiries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted inquiries. InquiryReceiver.deletedInquiries() is invoked when an inquiry is deleted or removed from this inquest.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedInquiriesForAudit

      void registerForDeletedInquiriesForAudit(Id auditId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted inquiries for the given audit Id . InquiryReceiver.deletedInquiries() is invoked when an inquiry in this inquest is removed or deleted.
      Parameters:
      auditId - the Id of the audit to monitor
      Throws:
      NullArgumentException - auditId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedInquiry

      void registerForDeletedInquiry(Id inquiryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted inquiry. InquiryReceiver.deletedInquiries() is invoked when the specified inquiry is deleted or removed from this inquest.
      Parameters:
      inquiryId - the Id of the Inquiry to monitor
      Throws:
      NullArgumentException - inquiryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.