Interface DocetNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DocetNotificationSession extends OsidSession

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

  • Method Details

    • getCourseCatalogId

      Id getCourseCatalogId()
      Gets the CourseCatalog Id associated with this session.
      Returns:
      the CourseCatalog Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getCourseCatalog

      Gets the CourseCatalog associated with this session.
      Returns:
      the course catalog
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForDocetNotifications

      boolean canRegisterForDocetNotifications()
      Tests if this user can register for Docet 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.
    • useFederatedCourseCatalogView

      void useFederatedCourseCatalogView()
      Federates the view for methods in this session. A federated view will include docetsin course catalogs which are children of this course catalog in the course catalog hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedCourseCatalogView

      void useIsolatedCourseCatalogView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this course catalog only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableDocetNotifications

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

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

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

      void registerForNewDocets() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new docets. DocetReceiver.newDocets() is invoked when a new Docet is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewDocetsForModule

      void registerForNewDocetsForModule(Id moduleId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new docets of the given module. DocetReceiver.newDocets() is invoked when a new Docet is created.
      Parameters:
      moduleId - the Id of the Module to monitor
      Throws:
      NullArgumentException - moduleId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewDocetsForActivityUnit

      void registerForNewDocetsForActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new docets of the given activity unit. DocetReceiver.newDocets() is invoked when a new Docet is created.
      Parameters:
      activityUnitId - the Id of the ActivityUnit to monitor
      Throws:
      NullArgumentException - activityUnitId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDocets

      void registerForChangedDocets() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated docets. DocetReceiver.changedDocets() is invoked when a docet is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDocetsForModule

      void registerForChangedDocetsForModule(Id moduleId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated docets of the given module. DocetReceiver.changedDocets() is invoked when a docet is changed.
      Parameters:
      moduleId - the Id of the Module to monitor
      Throws:
      NullArgumentException - moduleId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDocetsForActivityUnit

      void registerForChangedDocetsForActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated docets of the given activity unit. DocetReceiver.changedDocets() is invoked when a docet is changed.
      Parameters:
      activityUnitId - the Id of the ActivityUnit to monitor
      Throws:
      NullArgumentException - activityUnitId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDocet

      void registerForChangedDocet(Id docetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated docet. DocetReceiver.changedDocet() is invoked when the specified docet in this course catalog is changed.
      Parameters:
      docetId - the Id of the Docet to monitor
      Throws:
      NullArgumentException - docetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDocets

      void registerForDeletedDocets() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted docets. DocetReceiver.deletedDocets() is invoked when a docet is in this course catalog deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDocetsForModule

      void registerForDeletedDocetsForModule(Id moduleId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted docets of the given module. DocetReceiver.deletedDocets() is invoked when a docet in this course catalog is removed.
      Parameters:
      moduleId - the Id of the Module to monitor
      Throws:
      NullArgumentException - moduleId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDocetsForActivityUnit

      void registerForDeletedDocetsForActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted docets of the given activity unit. DocetReceiver.deletedDocets() is invoked when a docet in this course catalog is removed.
      Parameters:
      activityUnitId - the Id of the ActivityUnit to monitor
      Throws:
      NullArgumentException - activityUnitId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDocet

      void registerForDeletedDocet(Id docetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted docet. DocetReceiver.deletedDocets() is invoked when the specified docet is deleted.
      Parameters:
      docetId - the Id of the Docet to monitor
      Throws:
      NullArgumentException - docetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.