Interface ActivityNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ActivityNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Activities . in this CourseCatalog . This also includes existing activities 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 ActivityLookupSession .

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

      boolean canRegisterForActivityNotifications()
      Tests if this user can register for Activity 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 activities 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.
    • reliableActivityNotifications

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

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

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

      void registerForNewActivities() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new activities. ActivityReceiver.newActivities() is invoked when a new Activity appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewActivitiesForActivityUnit

      void registerForNewActivitiesForActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new activities of the given activity unit. ActivityReceiver.newActivities() is invoked when a new Activity appears in this course catalog.
      Parameters:
      activityUnitId - an activity unit Id
      Throws:
      NullArgumentException - activityUnitId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewActivitiesForCourseOffering

      void registerForNewActivitiesForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new activities of the given course offering. ActivityReceiver.newActivities() is invoked when a new Activity appears in this course catalog.
      Parameters:
      courseOfferingId - a course offering Id
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewActivitiesForTerm

      void registerForNewActivitiesForTerm(Id termId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new activities of the given term. ActivityReceiver.newActivities() is invoked when a new Activity appears in this course catalog.
      Parameters:
      termId - a term Id
      Throws:
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivities

      void registerForChangedActivities() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated courses. ActivityReceiver.changedActivities() is invoked when an activity in this course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivitiesForActivityUnit

      void registerForChangedActivitiesForActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated activities of the given activity unit. ActivityReceiver.changedActivities() is invoked when an activity in this course catalog is changed.
      Parameters:
      activityUnitId - an activity unit Id
      Throws:
      NullArgumentException - activityUnitId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivitiesForCourseOffering

      void registerForChangedActivitiesForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated activities of the given course offering. ActivityReceiver.changedActivities() is invoked when an activity in this course catalog is changed.
      Parameters:
      courseOfferingId - a course offering Id
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivitiesForTerm

      void registerForChangedActivitiesForTerm(Id termId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated activities of the given term. ActivityReceiver.changedActivities() is invoked when an activity in this course catalog is changed.
      Parameters:
      termId - a term Id
      Throws:
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedActivity

      void registerForChangedActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated activity. ActivityReceiver.changedActivities() is invoked when the specified activity in this course catalog is changed.
      Parameters:
      activityId - the Id of the Activity to monitor
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivities

      void registerForDeletedActivities() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted activities. ActivityReceiver.deletedActivities() is invoked when an activity is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivitiesForActivityUnit

      void registerForDeletedActivitiesForActivityUnit(Id activityUnitId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted activities of the given activity unit. ActivityReceiver.deletedActivities() is invoked when an activity is deleted or removed from this course catalog.
      Parameters:
      activityUnitId - an activity unit Id
      Throws:
      NullArgumentException - activityUnitId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivitiesForCourseOffering

      void registerForDeletedActivitiesForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted activities of the given course offering. ActivityReceiver.deletedActivities() is invoked when an activity is deleted or removed from this course catalog.
      Parameters:
      courseOfferingId - a course offering Id
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivitiesForTerm

      void registerForDeletedActivitiesForTerm(Id termId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of deleted activities of the given term. ActivityReceiver.deletedActivity() is invoked when an activity is deleted or removed from this course catalog.
      Parameters:
      termId - a term Id
      Throws:
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedActivity

      void registerForDeletedActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted activity. ActivityReceiver.deletedActivities() is invoked when the specified activity is deleted or removed from this course catalog.
      Parameters:
      activityId - the Id of the Activity to monitor
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.