Interface IssueNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface IssueNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Issue objects in this FrontOffice . 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 IssueLookupSession .

  • Method Details

    • getFrontOfficeId

      Id getFrontOfficeId()
      Gets the FrontOffice Id associated with this session.
      Returns:
      the FrontOffice Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getFrontOffice

      Gets the FrontOffice associated with this session.
      Returns:
      the front office
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForIssueNotifications

      boolean canRegisterForIssueNotifications()
      Tests if this user can register for Issue 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.
    • useFederatedFrontOfficeView

      void useFederatedFrontOfficeView()
      Federates the view for methods in this session. A federated view will include issues in front offices which are children of this front office in the front office hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedFrontOfficeView

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

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

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

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

      void registerForNewIssues() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new issues. IssueReceiver.newIssues() is invoked when a new Issue appears in this front office.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewIssuesForQueue

      void registerForNewIssuesForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new issues in the given queue. IssueReceiver.newIssues() is invoked when a new Issue appears in this front office.
      Parameters:
      queueId - the Id of the queue to monitor
      Throws:
      NullArgumentException - queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewIssuesForCustomer

      void registerForNewIssuesForCustomer(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new issues for the given customer. IssueReceiver.newIssues() is invoked when a new Issue appears in this front office.
      Parameters:
      resourceId - the Id of the customer to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewIssuesByTopic

      void registerForNewIssuesByTopic(Id subjectId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new issues for the given topic. IssueReceiver.newIssues() is invoked when a new Issue appears in this front office.
      Parameters:
      subjectId - the Id of the subject to monitor
      Throws:
      NullArgumentException - subjectId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssues

      void registerForChangedIssues() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated issues. IssueReceiver.changedIssues() is invoked when an issue in this front office is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssuesForQueue

      void registerForChangedIssuesForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated issues in the given queue. IssueReceiver.changedIssues() is invoked when an issue in this front office is changed.
      Parameters:
      queueId - the Id of the queue to monitor
      Throws:
      NullArgumentException - queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssuesForCustomer

      void registerForChangedIssuesForCustomer(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated issues for the given customer. IssueReceiver.changedIssue() is invoked when an issue in this front office is changed.
      Parameters:
      resourceId - the Id of the customer to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssuesByTopic

      void registerForChangedIssuesByTopic(Id subjectId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated issues for the given topic. IssueReceiver.changedIssues() is invoked when an issue in this front office is changed.
      Parameters:
      subjectId - the Id of the subject to monitor
      Throws:
      NullArgumentException - subjectId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedIssue

      void registerForChangedIssue(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated issue. IssueReceiver.changedIssues() is invoked when the specified issue in this front office is changed.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssues

      void registerForDeletedIssues() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted issues. IssueReceiver.deletedIssues() is invoked when an issue is deleted or removed from this front office.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssuesForQueue

      void registerForDeletedIssuesForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted issues in the given queue. IssueReceiver.deletedIssues() is invoked when an issue is deleted or removed from this front office.
      Parameters:
      queueId - the Id of the queue to monitor
      Throws:
      NullArgumentException - queueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssuesForCustomer

      void registerForDeletedIssuesForCustomer(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted issues for the given customer. IssueReceiver.deletedIssues() is invoked when an issue is deleted or removed from this front office.
      Parameters:
      resourceId - the Id of the customer to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssuesByTopic

      void registerForDeletedIssuesByTopic(Id subjectId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted issues for the given topic. IssueReceiver.deletedIssues() is invoked when an issue is deleted or removed from this front office.
      Parameters:
      subjectId - the Id of the subject to monitor
      Throws:
      NullArgumentException - subjectId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedIssue

      void registerForDeletedIssue(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted issue. IssueReceiver.deletedIssues() is invoked when the specified issue is deleted or removed from this front office.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForSubtasks

      void registerForSubtasks(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a subtask for the given issue. IssueReceiver.subtaskIssues() is invoked when the specified issue is gets a new subtask.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForLinkedIssues

      void registerForLinkedIssues(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a linked issue to the given issue. IssueReceiver.linkedIssue() is invoked when the specified issue gets a new duplicate.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForUnlinkedIssues

      void registerForUnlinkedIssues(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an unlinked issue from the given issue. IssueReceiver.unlinkedIssue() is invoked when the specified issue loses a duplicate.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForBlockingIssues

      void registerForBlockingIssues(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a blocking issue to the given issue. IssueReceiver.blockedIssue() is invoked when the specified issue is blocked by another issue.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForUnblockingIssues

      void registerForUnblockingIssues(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of the removal of a blocking issue to the given issue. IssueReceiver.unblockedIssue() is invoked when the specified issue is no longer blocked by another issue.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForBlockedIssues

      void registerForBlockedIssues(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a blocked issue to the given issue. IssueReceiver.blockedIssue() is invoked when the specified issue is blocking another issue.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForUnblockedIssues

      void registerForUnblockedIssues(Id issueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of the removal of a blocked issue to the given issue. IssueReceiver.unblockedIssue() is invoked when the specified issue is no longer blocking another issue.
      Parameters:
      issueId - the Id of the Issue to monitor
      Throws:
      NullArgumentException - issueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.