Interface CatalogueNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CatalogueNotificationSession extends OsidSession

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

Notifications are triggered with changes to the Catalogue object itself. Adding and removing canonical units result in notifications available from the notification session for canonical units.

  • Method Details

    • canRegisterForCatalogueNotifications

      boolean canRegisterForCatalogueNotifications()
      Tests if this user can register for Catalogue 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.
    • reliableCatalogueNotifications

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

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

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

      void registerForNewCatalogues() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new catalogues. CatalogueReceiver.newCatalogues() is invoked when a new Catalogue is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogues

      void registerForChangedCatalogues() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated catalogues. CatalogueReceiver.changedCatalogues() is invoked when a catalogue is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogue

      void registerForChangedCatalogue(Id catalogueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated catalogue. CatalogueReceiver.changedCatalogues() is invoked when the specified catalogue is changed.
      Parameters:
      catalogueId - the Id of the Catalogue to monitor
      Throws:
      NullArgumentException - catalogueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCatalogues

      void registerForDeletedCatalogues() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted catalogues. CatalogueReceiver.deletedCatalogues() is invoked when a catalogue is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCatalogue

      void registerForDeletedCatalogue(Id catalogueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted catalogue. CatalogueReceiver.deletedCatalogues() is invoked when the specified catalogue is deleted.
      Parameters:
      catalogueId - the Id of the Catalogue to monitor
      Throws:
      NullArgumentException - catalogueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogueHierarchy

      void registerForChangedCatalogueHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated catalogue hierarchy structure. CatalogueReceiver.changedChildOfCatalogues() is invoked when the specified node or any of its descendants experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogueHierarchyForAncestors

      void registerForChangedCatalogueHierarchyForAncestors(Id catalogueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated catalogue hierarchy structure. CatalogueReceiver.changedChildOfCatalogues() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      catalogueId - the Id of the Catalogue node to monitor
      Throws:
      NullArgumentException - catalogueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCatalogueHierarchyForDescendants

      void registerForChangedCatalogueHierarchyForDescendants(Id catalogueId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated catalogue hierarchy structure. CatalogueReceiver.changedChildOfCatalogues() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      catalogueId - the Id of the Catalogue node to monitor
      Throws:
      NullArgumentException - catalogueId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.