Interface ActivityUnitNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ActivityUnitNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to ActivityUnits in this CourseCatalog . This also includes existing activity units that may appear or disappear due to changes in the CourseCatalog hierarchy, 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.

The two views defined in this session correspond to the views in the ActivityUnitLookupSession .

  • 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.
    • canRegisterForActivityUnitNotifications

      boolean canRegisterForActivityUnitNotifications()
      Tests if this user can register for ActivityUnit 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 activity units in catalogs which are children of this 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 notifications to this course catalog only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableActivityUnitNotifications

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

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

      void acknowledgeActivityUnitNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge an activity unit notification.
      Parameters:
      notificationId - the Id of the notification
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewActivityUnits

      void registerForNewActivityUnits() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new activity units. ActivityUnitReceiver.newActivityUnits() is invoked when a new ActivityUnit appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewActivityUnitsForCourse

      void registerForNewActivityUnitsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new activity units for the given course. ActivityUnitReceiver.newActivityUnits() is invoked when a new ActivityUnit appears in this course catalog.
      Parameters:
      courseId - the Id of the Course to monitor
      Throws:
      NullArgumentException - courseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivityUnits

      void registerForChangedActivityUnits() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated activity units. ActivityUnitReceiver.changedActivityUnits() is invoked when an activity unit in this course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivityUnitsForCourse

      void registerForChangedActivityUnitsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of changed activity units for the given course. ActivityUnitReceiver.changedActivityUnits() is invoked when an activity unit in this course catalog is changed.
      Parameters:
      courseId - the Id of the Course to monitor
      Throws:
      NullArgumentException - courseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivityUnit

      void registerForChangedActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated activity unit. ActivityUnitReceiver.changedActivityUnits() is invoked when the specified activity unit in this course catalog 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.
    • registerForDeletedActivityUnits

      void registerForDeletedActivityUnits() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted activity units. ActivityUnitReceiver.deletedActivityUnits() is invoked when an activity unit is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivityUnitsForCourse

      void registerForDeletedActivityUnitsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted activity units for the given course. ActivityUnitReceiver.changedActivityUnits() is invoked when an activity unit is deleted or removed from this course catalog.
      Parameters:
      courseId - the Id of the Course to monitor
      Throws:
      NullArgumentException - courseId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivityUnit

      void registerForDeletedActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted activity unit. ActivityUnitReceiver.deletedActivityUnits() is invoked when the specified activity unit is deleted or removed from this course catalog.
      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.