Interface CourseOfferingNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CourseOfferingNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to CourseOfferings in this CourseCatalog . This also includes existing course offerings 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 CourseOfferingLookupSession .

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

      boolean canRegisterForCourseOfferingNotifications()
      Tests if this user can register for CourseOffering 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 course offerings 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.
    • reliableCourseOfferingNotifications

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

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

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

      void registerForNewCourseOfferings() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new course offerings. CourseOfferingReceiver.newCourseOfferings() is invoked when a new CourseOffering appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewCourseOfferingsForCourse

      void registerForNewCourseOfferingsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a new course offering for a given course. CourseOfferingReceiver.newCourseOfferings() is invoked when a new course offering 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.
    • registerForNewCourseOfferingsForTerm

      void registerForNewCourseOfferingsForTerm(Id termId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a new course offering for a given term. CourseOfferingReceiver.newCourseOfferings() is invoked when a new course offering appears in this course catalog.
      Parameters:
      termId - the Id of the Term to monitor
      Throws:
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseOfferings

      void registerForChangedCourseOfferings() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated courses. CourseOfferingReceiver.changedCourseOfferings() is invoked when a course in this course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseOfferingsForCourse

      void registerForChangedCourseOfferingsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a changed course offering for a given course. CourseOfferingReceiver.newCourseOfferings() is invoked when a course offering in this course catalog is updated.
      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.
    • registerForChangedCourseOfferingsForTerm

      void registerForChangedCourseOfferingsForTerm(Id termId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a changed course offering for a given term. CourseOfferingReceiver.newCourseOfferings() is invoked when a course offering in this course catalog is updated.
      Parameters:
      termId - the Id of the Term to monitor
      Throws:
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCourseOffering

      void registerForChangedCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated course offering. CourseOfferingReceiver.changedCourseOfferings() is invoked when the specified course offering in this course catalog is changed.
      Parameters:
      courseOfferingId - the Id of the CourseOffering to monitor
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCourseOfferings

      void registerForDeletedCourseOfferings() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted courses. CourseOfferingReceiver.deletedCourseOfferings() is invoked when a course offering is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCourseOfferingsForCourse

      void registerForDeletedCourseOfferingsForCourse(Id courseId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted course offering for a given course. CourseOfferingReceiver.newCourseOfferings() is invoked when a course offering is 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.
    • registerForDeletedCourseOfferingsForTerm

      void registerForDeletedCourseOfferingsForTerm(Id termId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted course offering for a given term. CourseOfferingReceiver.newCourseOfferings() is invoked when a course offering is removed from this course catalog.
      Parameters:
      termId - the Id of the Term to monitor
      Throws:
      NullArgumentException - termId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCourseOffering

      void registerForDeletedCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted course offering. CourseOfferingReceiver.deletedCourseOfferings() is invoked when the specified course offering is deleted or removed from this course catalog.
      Parameters:
      courseOfferingId - the Id of the CourseOffering to monitor
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.