Interface PlanNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface PlanNotificationSession extends OsidSession

This session defines methods to receive notifications on adds/changes to Plans . 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.

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

      boolean canRegisterForPlanNotifications()
      Tests if this user can register for Plan 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 plans 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 retrievals to this course catalog only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliablePlanNotifications

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

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

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

      void registerForNewPlans() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new plans. PlanReceiver.newPlans() is invoked when a new Plan is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewPlansForSyllabus

      void registerForNewPlansForSyllabus(Id syllabusId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new plans for the given syllabus. PlanReceiver.newPlans() is invoked when a new Plan is created.
      Parameters:
      syllabusId - the Id of the Syllabus to monitor
      Throws:
      NullArgumentException - syllabusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewPlansForCourseOffering

      void registerForNewPlansForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Register for notifications of new plans for the given course offering. PlanReceiver.newPlans() is invoked when a new Plan is created.
      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.
    • registerForChangedPlans

      void registerForChangedPlans() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated plans. PlanReceiver.changedPlans() is invoked when a plan is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedPlansForSyllabus

      void registerForChangedPlansForSyllabus(Id syllabusId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated plans for the given syllabus. PlanReceiver.changedPlans() is invoked when a plan is changed.
      Parameters:
      syllabusId - the Id of the Syllabus to monitor
      Throws:
      NullArgumentException - syllabusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedPlansForCourseOffering

      void registerForChangedPlansForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated plans for the given course offering. PlanReceiver.changedPlans() is invoked when a plan 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.
    • registerForChangedPlan

      void registerForChangedPlan(Id planId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated plan. PlanReceiver.changedPlans() is invoked when the specified plan is changed.
      Parameters:
      planId - the Id of the Plan to monitor
      Throws:
      NullArgumentException - planId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedPlans

      void registerForDeletedPlans() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted plans. PlanReceiver.deletedPlans() is invoked when a plan in this catalog is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedPlansForSyllabus

      void registerForDeletedPlansForSyllabus(Id syllabusId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted plans for the given syllabus. PlanReceiver.deletedPlans() is invoked when a plan in this catalog is deleted.
      Parameters:
      syllabusId - the Id of the Syllabus to monitor
      Throws:
      NullArgumentException - syllabusId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedPlansForCourseOffering

      void registerForDeletedPlansForCourseOffering(Id courseOfferingId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted plans for the given course offering. PlanReceiver.deletedPlans() is invoked when a plan in this catalog is deleted.
      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.
    • registerForDeletedPlan

      void registerForDeletedPlan(Id planId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted plan. PlanReceiver.deletedPlans() is invoked when the specified plan in this catalog is deleted.
      Parameters:
      planId - the Id of the Plan to monitor
      Throws:
      NullArgumentException - planId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.