Interface CourseCatalogNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CourseCatalogNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to CourseCatalogs . This session is intended for consumers needing to synchronize their state with this service without the use of polling. Notifications are cancelled when this sess

  • Method Details

    • canRegisterForCourseCatalogNotifications

      boolean canRegisterForCourseCatalogNotifications()
      Tests if this user can register for CourseCatalog 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.
    • reliableCourseCatalogNotifications

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

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

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

      void registerForNewCourseCatalogs() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new course catalogs. CourseCatalogReceiver.newCourseCatalogs() is invoked when a new CourseCatalog is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseCatalogs

      void registerForChangedCourseCatalogs() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated course catalogs. CourseCatalogReceiver.changedCourseCatalogs() is invoked when a course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseCatalog

      void registerForChangedCourseCatalog(Id courseCatalogId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated course catalog. CourseCatalogReceiver.changedCourseCatalogs() is invoked when the specified course catalog is changed.
      Parameters:
      courseCatalogId - the Id of the CourseCatalog to monitor
      Throws:
      NullArgumentException - courseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCourseCatalogs

      void registerForDeletedCourseCatalogs() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted course catalogs. CourseCatalogReceiver.deletedCourseCatalogs() is invoked when a course catalog is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCourseCatalog

      void registerForDeletedCourseCatalog(Id courseCatalogId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted course catalog. CourseCatalogReceiver.deletedCourseCatalogs() is invoked when the specified course catalog is deleted.
      Parameters:
      courseCatalogId - the Id of the CourseCatalog to monitor
      Throws:
      NullArgumentException - courseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseCatalogHierarchy

      void registerForChangedCourseCatalogHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated course catalog hierarchy structure. CourseCataloReceiver.changedChildOfCourseCatalos() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseCatalogHierarchyForAncestors

      void registerForChangedCourseCatalogHierarchyForAncestors(Id courseCatalogId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated course catalog hierarchy structure. CourseCataloReceiver.changedChildOfCourseCatalos() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      courseCatalogId - the Id of the CourseCatalo node to monitor
      Throws:
      NullArgumentException - courseCatalogId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseCatalogHierarchyForDescendants

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