Interface RegistrationTargetNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface RegistrationTargetNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to RegistrationTa rgets in this CourseCatalog . This also includes existing registration targets 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 RegistrationTargetLookupSessi on.

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

      boolean canRegisterForRegistrationTargetNotifications()
      Tests if this user can register for RegistrationT arget 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 registration targets in course catalogs which are children of this course 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.
    • reliableRegistrationTargetNotifications

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

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

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

      void registerForNewRegistrationTargets() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registration targets. RegistrationTargetReceiver.newRegistrationTargets() is invoked when a new RegistrationTarget appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewRegistrationTargetsForCourseOffering

      void registerForNewRegistrationTargetsForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registration targets for the given course offering. RegistrationTargetReceiver.newRegistrationTargets() is invoked when a new RegistrationTarget appears in this course catalog.
      Parameters:
      courseOfferingId - the Id of a CourseOffering
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewRegistrationTargetsForActivity

      void registerForNewRegistrationTargetsForActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new registration targets for the given activity. RegistrationTargetReceiver.newRegistrationTargets() is invoked when a new RegistrationTarget appears in this course catalog.
      Parameters:
      activityId - the Id of an activity
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistrationTargets

      void registerForChangedRegistrationTargets() throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated registration targets. RegistrationTargetReceiver.changedRegistrationTargets() is invoked when a RegistrationTarget in this course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistrationTargetsForCourseOffering

      void registerForChangedRegistrationTargetsForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated registration targets for the given course offering. RegistrationTargetReceiver.changedRegistrationTargets() is invoked when a RegistrationTarget in this course catalog is changed.
      Parameters:
      courseOfferingId - the Id of a CourseOffering
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistrationTargetsForActivity

      void registerForChangedRegistrationTargetsForActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of updated registration targets for the given activity. RegistrationTargetReceiver.changedRegistrationTargets() is invoked when a RegistrationTarget in this course catalog is changed.
      Parameters:
      activityId - the Id of an activity
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedRegistrationTarget

      void registerForChangedRegistrationTarget(Id registrationTargetId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of an updated registration target. RegistrationTargetReceiver.changedRegistrationTargets() is invoked when the specified RegistrationTarget 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.
    • registerForDeletedRegistrationTargets

      void registerForDeletedRegistrationTargets() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registration targets. RegistrationTargetReceiver.deletedRegistrationTargets() is invoked when a registration target is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistrationTargetsForCourseOffering

      void registerForDeletedRegistrationTargetsForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registration targets for the given course offering. RegistrationTargetReceiver.deletedRegistrationTargets() is invoked when a registration target is deleted or removed from this course catalog.
      Parameters:
      courseOfferingId - the Id of a CourseOffering
      Throws:
      NullArgumentException - courseOfferingId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistrationTargetsForActivity

      void registerForDeletedRegistrationTargetsForActivity(Id activityId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted registration targets for the given activity. RegistrationTargetReceiver.deletedRegistrationTargets() is invoked when a registration target is deleted or removed from this course catalog.
      Parameters:
      activityId - the Id of an activity
      Throws:
      NullArgumentException - activityId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedRegistrationTarget

      void registerForDeletedRegistrationTarget(Id registrationTargetId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted registration target. RegistrationTargetReceiver.deletedRegistrationTargets() is invoked when the specified registration target 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.