Interface ParticipantNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ParticipantNotificationSession extends OsidSession

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

      boolean canRegisterForParticipantNotifications()
      Tests if this user can register for Participant 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 participants 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.
    • reliableParticipantNotifications

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

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

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

      void registerForNewParticipants() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new participants. ParticipantReceiver.newParticipants() is invoked when a new Participant is appears in this catalogue.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewParticipantsForOffering

      void registerForNewParticipantsForOffering(Id offeringId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new participants for an offering. ParticipantReceiver.newParticipants() is invoked when a new Participant appears in this catalogue.
      Parameters:
      offeringId - an offering to monitor
      Throws:
      NullArgumentException - offeringId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewParticipantsForResource

      void registerForNewParticipantsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new participants for a resource. ParticipantReceiver.newParticipants() is invoked when a new Participant appears in this catalogue.
      Parameters:
      resourceId - a resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParticipants

      void registerForChangedParticipants() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated participants. ParticipantReceiver.changedParticipants() is invoked when a participant in this catalogue is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParticipantsForOffering

      void registerForChangedParticipantsForOffering(Id offeringId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed participants for the given offering. ParticipantReceiver.changedParticipants() is invoked when a Participant for the offering in this catalogue is changed.
      Parameters:
      offeringId - an offering to monitor
      Throws:
      NullArgumentException - offeringId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParticipantsForResource

      void registerForChangedParticipantsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed participants for the given resource. ParticipantReceiver.changedParticipants() is invoked when a Participant for the offering in this catalogue is changed.
      Parameters:
      resourceId - a resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedParticipant

      void registerForChangedParticipant(Id participantId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of an updated participant. ParticipantReceiver.changedParticipants() is invoked when the specified participant in this catalogue is changed.
      Parameters:
      participantId - the Id of the Participant to monitor
      Throws:
      NotFoundException - a participant was not found identified by the given Id
      NullArgumentException - participantId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParticipants

      void registerForDeletedParticipants() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted participants. ParticipantReceiver.deletedParticipants() is invoked when a participant is removed from this catalogue.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParticipantsForOffering

      void registerForDeletedParticipantsForOffering(Id offeringId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted participants for the given offering. ParticipantReceiver.deletedParticipants() is invoked when a Participant for the offering is removed from this catalogue.
      Parameters:
      offeringId - an offering to monitor
      Throws:
      NullArgumentException - offeringId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParticipantsForResource

      void registerForDeletedParticipantsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted participants for the given resource. ParticipantReceiver.deletedParticipants() is invoked when a Participant for the offering is removed from this catalogue.
      Parameters:
      resourceId - a resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedParticipant

      void registerForDeletedParticipant(Id participantId) throws NotFoundException, OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted participants. ParticipantReceiver.deletedParticipants() is invoked when the specified participant is removed from this catalogue.
      Parameters:
      participantId - the Id of the Participant to monitor
      Throws:
      NotFoundException - a participant was not found identified by the given Id
      NullArgumentException - participantId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.