Interface IssueProcessorNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface IssueProcessorNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to IssueProcessors in this Oubliette . This also includes existing issue processors that may appear or disappear due to changes in the Oubliette 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 IssueProcessorLookupSession .

  • Method Details

    • getOublietteId

      Id getOublietteId()
      Gets the Oubliette Id associated with this session.
      Returns:
      the Oubliette Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getOubliette

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

      boolean canRegisterForIssueProcessorNotifications()
      Tests if this user can register for IssueProcessor 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.
    • useFederatedIssueProcessorHouseView

      void useFederatedIssueProcessorHouseView()
      Federates the view for methods in this session. A federated view will include issue processors in oubliettes which are children of this oubliette in the oubliette hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedOublietteView

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

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

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

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

      void registerForNewIssueProcessors() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new issue processors. IssueProcessorReceiver.newIssueProcessors() is invoked when a new IssueProcessor appears in this oubliette.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssueProcessors

      void registerForChangedIssueProcessors() throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated issue processors. IssueProcessorReceiver.changedIssueProcessors() is invoked when an IssueProcessor in this oubliette is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssueProcessor

      void registerForChangedIssueProcessor(Id issueProcessorId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of an updated issue processor. IssueProcessorReceiver.changedIssueProcessors() is invoked when the specified IssueProcessor in this oubliette is changed.
      Parameters:
      issueProcessorId - the Id of the IssueProcessor to monitor
      Throws:
      NullArgumentException - issueProcessorId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssueProcessors

      void registerForDeletedIssueProcessors() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted issue processors. IssueProcessorReceiver.deletedIssueProcessors() is invoked when an issue processor is deleted or removed from this oubliette.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssueProcessor

      void registerForDeletedIssueProcessor(Id issueProcessorId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a delete issue processor. IssueProcessorReceiver.deletedIssueProcessors() is invoked when the specified issue processor is deleted or removed from this oubliette.
      Parameters:
      issueProcessorId - the Id of the IssueProcessor to monitor
      Throws:
      NullArgumentException - issueProcessorId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.