Interface ResultNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ResultNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Results . 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

    • getCatalogueId

      Id getCatalogueId()
      Gets the Catalogue Id associated with this session.
      Returns:
      the Catalogue Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCatalogue

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

      boolean canRegisterForResultNotifications()
      Tests if this user can register for Result 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.
    • useFederatedCatalogueView

      void useFederatedCatalogueView()
      Federates the view for methods in this session. A federated view will include notifications for resultss in catalogues which are children of this catalogue in the catalogue hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCatalogueView

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

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

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

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

      void registerForNewResults() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new results. ResultReceiver.newResults() is invoked when a new Result is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewResultsForParticipant

      void registerForNewResultsForParticipant(Id participantId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new results for the given participant Id . ResultReceiver.newResults() is invoked when a new Result appears in this catalogue.
      Parameters:
      participantId - the Id of the participant to monitor
      Throws:
      NullArgumentException - participantId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedResults

      void registerForChangedResults() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated results. ResultReceiver.changedResults() is invoked when a result in this catalogue is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedResultsForParticipant

      void registerForChangedResultsForParticipant(Id participantId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed results for the given participant Id . ResultReceiver.changedResults() is invoked when a Result for the resource is changed in this catalogue.
      Parameters:
      participantId - the Id of the participant to monitor
      Throws:
      NullArgumentException - participantId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedResult

      void registerForChangedResult(Id resultId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of an updated result. ResultReceiver.changedResults() is invoked when the specified result in this catalogue is changed.
      Parameters:
      resultId - the Id of the Result to monitor
      Throws:
      NotFoundException - a result was not found identified by the given Id
      NullArgumentException - resultId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedResults

      void registerForDeletedResults() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted results. ResultReceiver.deletedResults() is invoked when a result is removed from this catalogue.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedResultsForParticipant

      void registerForDeletedResultsForParticipant(Id participantId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted results for the given participant Id . ResultReceiver.deletedResults() is invoked when a Result for the resource is removed from this catalogue.
      Parameters:
      participantId - the Id of the participant to monitor
      Throws:
      NullArgumentException - participantId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedResult

      void registerForDeletedResult(Id resultId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted result. ResultReceiver.deletedResults() is invoked when the specified result is removed from this catalogue.
      Parameters:
      resultId - the Id of the Result to monitor
      Throws:
      NotFoundException - a result was not found identified by the given Id
      NullArgumentException - resultId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.