Interface RegistrationNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RegistrationNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Registration objects in this CourseCatalog . This also includes existing registrations 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 RegistrationLookupSession .

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

      boolean canRegisterForRegistrationNotifications()
      Tests if this user can register for Registration 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 registrations 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.
    • reliableRegistrationNotifications

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

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

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

      void registerForNewRegistrations() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registrations. RegistrationReceiver.newRegistrations() is invoked when a new Registration appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewRegistrationsForRegistrationTarget

      void registerForNewRegistrationsForRegistrationTarget(Id registrationTargetId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registrations for the given registration target. RegistrationReceiver.newRegistrations() is invoked when a new Registration appears in this course catalog.
      Parameters:
      registrationTargetId - the Id of the RegistrationTarget to monitor
      Throws:
      NullArgumentException - registrationTargetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewRegistrationsForCourseOffering

      void registerForNewRegistrationsForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registrations for the given course offering. RegistrationReceiver.newRegistrations() is invoked when a new Registration appears in 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.
    • registerForNewRegistrationsForStudent

      void registerForNewRegistrationsForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registrations for the given sudent resource. RegistrationReceiver.newRegistrations() is invoked when a new Registration appears in this course catalog.
      Parameters:
      resourceId - the Id of the student to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistrations

      void registerForChangedRegistrations() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated registrations. RegistrationReceiver.changedRegistrations() 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.
    • registerForChangedRegistrationsForRegistrationTarget

      void registerForChangedRegistrationsForRegistrationTarget(Id registrationTargetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated registrations for the given registration target. RegistrationReceiver.changedRegistrations() is invoked when a course in this course catalog is changed.
      Parameters:
      registrationTargetId - the Id of the RegistrationTarget to monitor
      Throws:
      NullArgumentException - registrationTargetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistrationsForCourseOffering

      void registerForChangedRegistrationsForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated registrations for the given course offering. RegistrationReceiver.changedRegistrations() is invoked when a course 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.
    • registerForChangedRegistrationsForStudent

      void registerForChangedRegistrationsForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated registrations for the given student. RegistrationReceiver.changedRegistrations() is invoked when a course in this course catalog is changed.
      Parameters:
      resourceId - the Id of the student to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistration

      void registerForChangedRegistration(Id registrationId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated registration. RegistrationReceiver.changedRegistrations() is invoked when the specified registration in this course catalog is changed.
      Parameters:
      registrationId - the Id of the Registration to monitor
      Throws:
      NullArgumentException - registrationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistrations

      void registerForDeletedRegistrations() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registrations. RegistrationReceiver.deletedRegistrations() is invoked when a registration is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistrationsForRegistrationTarget

      void registerForDeletedRegistrationsForRegistrationTarget(Id registrationTargetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registrations for the given registration target. RegistrationReceiver.deletedRegistrations() is invoked when a registration is deleted or removed from this course catalog.
      Parameters:
      registrationTargetId - the Id of the RegistrationTarget to monitor
      Throws:
      NullArgumentException - registrationTargetId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistrationsForCourseOffering

      void registerForDeletedRegistrationsForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registrations for the given course offering. RegistrationReceiver.deletedRegistrations() is invoked when a registration 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.
    • registerForDeletedRegistrationsForStudent

      void registerForDeletedRegistrationsForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registrations for the given student. RegistrationReceiver.deletedRegistrations() is invoked when a registration is deleted or removed from this course catalog.
      Parameters:
      resourceId - the Id of the student to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistration

      void registerForDeletedRegistration(Id registrationId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted registration. RegistrationReceiver.deletedRegistrations() is invoked when the specified registration is deleted or removed from this course catalog.
      Parameters:
      registrationId - the Id of the Registration to monitor
      Throws:
      NullArgumentException - registrationId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.