Interface CookbookNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CookbookNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Cookbook objects. 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 Cookbook object itself. Adding and removing procedures result in notifications available from the notification session for procedures.

  • Method Details

    • canRegisterForCookbookNotifications

      boolean canRegisterForCookbookNotifications()
      Tests if this user can register for Cookbook 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.
    • reliableCookbookNotifications

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

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

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

      void registerForNewCookbooks() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new cookbooks. CookbookReceiver.newCookbooks() is invoked when a new Cookbook is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCookbooks

      void registerForChangedCookbooks() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated cookbooks. CookbookReceiver.changedCookbook() is invoked when a cookbook is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCookbook

      void registerForChangedCookbook(Id cookbookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated cookbook. CookbookReceiver.changedCookbooks() is invoked when the specified cookbook is changed.
      Parameters:
      cookbookId - the Id of the Cookbook to monitor
      Throws:
      NullArgumentException - cookbookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCookbooks

      void registerForDeletedCookbooks() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted cookbooks. CookbookReceiver.deletedCookbooks() is invoked when a cookbook is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCookbook

      void registerForDeletedCookbook(Id cookbookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted cookbook. CookbookReceiver.deletedCookbooks() is invoked when the specified cookbook is deleted.
      Parameters:
      cookbookId - the Id of the Cookbook to monitor
      Throws:
      NullArgumentException - cookbookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCookbookHierarchy

      void registerForChangedCookbookHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated cookbooks hierarchy structure. CookbookReceiver.changedChildOfCookbooks() 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.
    • registerForChangedCookbookHierarchyForAncestors

      void registerForChangedCookbookHierarchyForAncestors(Id cookbookId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated cookbooks hierarchy structure. CookbookReceiver.changedChildOfCookbooks() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      cookbookId - the Id of the Cookbook node to monitor
      Throws:
      NullArgumentException - cookbookId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCookbookHierarchyForDescendants

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