Interface EnrollmentNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface EnrollmentNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Enrollments in this CourseCatalog . This also includes existing enrollments 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 views defined in this session correspond to the views in the EnrollmentLookupSession .

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

      boolean canRegisterForEnrollmentNotifications()
      Tests if this user can register for Enrollment 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 enrollments 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.
    • reliableEnrollmentNotifications

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

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

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

      void registerForNewEnrollments() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new enrollments. EnrollmentReceiver.newEnrollments() is invoked when a new Enrollment appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewEnrollmentsForProgramOffering

      void registerForNewEnrollmentsForProgramOffering(Id programOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new enrollments for the given program offering. EnrollmentReceiver.newEnrollments() is invoked when a new Enrollment appears in this course catalog.
      Parameters:
      programOfferingId - the Id of the ProgramOffering to monitor
      Throws:
      NullArgumentException - programOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewEnrollmentsForStudent

      void registerForNewEnrollmentsForStudent(Id studentId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new enrollments for the given student. EnrollmentReceiver.newEnrollments() is invoked when a new Enrollment appears in this course catalog.
      Parameters:
      studentId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - studentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEnrollments

      void registerForChangedEnrollments() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated enrollments. EnrollmentReceiver.changedEnrollments() is invoked when an enrollment in this course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEnrollmentsForProgramOffering

      void registerForChangedEnrollmentsForProgramOffering(Id programOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated enrollments for the given program offering. EnrollmentReceiver.changedEnrollments() is invoked when an enrollment in this course catalog is changed.
      Parameters:
      programOfferingId - the Id of the ProgramOffering to monitor
      Throws:
      NullArgumentException - programOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEnrollmentsForStudent

      void registerForChangedEnrollmentsForStudent(Id studentId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated enrollments for the given student. EnrollmentReceiver.changedEnrollments() is invoked when a course in this course catalog is changed.
      Parameters:
      studentId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - studentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedEnrollment

      void registerForChangedEnrollment(Id enrollmentId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated enrollment. EnrollmentReceiver.changedEnrollments() is invoked when the specified enrollment in this course catalog is changed.
      Parameters:
      enrollmentId - the Id of the Enrollment to monitor
      Throws:
      NullArgumentException - enrollmentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedEnrollments

      void registerForDeletedEnrollments() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted enrollments. EnrollmentReceiver.deletedEnrollments() is invoked when an enrollment is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedEnrollmentsForProgramOffering

      void registerForDeletedEnrollmentsForProgramOffering(Id programOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted enrollments for the given program offering. EnrollmentReceiver.deletedEnrollments() is invoked when an enrollment is deleted or removed from this course catalog.
      Parameters:
      programOfferingId - the Id of the ProgramOffering to monitor
      Throws:
      NullArgumentException - programOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedEnrollmentsForStudent

      void registerForDeletedEnrollmentsForStudent(Id studentId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted enrollments for the given student. EnrollmentReceiver.deletedEnrollments() is invoked when an enrollment is deleted or removed from this course catalog.
      Parameters:
      studentId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - studentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedEnrollment

      void registerForDeletedEnrollment(Id enrollmentId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted enrollment. EnrollmentReceiver.deletedEnrollments() is invoked when the specified enrollment is deleted or removed from this course catalog.
      Parameters:
      enrollmentId - the Id of the Enrollment to monitor
      Throws:
      NullArgumentException - enrollmentId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.