Interface ProgramEntryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ProgramEntryNotificationSession extends OsidSession

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

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

      boolean canRegisterForProgramEntryNotifications()
      Tests if this user can register for ProgramEntry 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 program entries 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.
    • reliableProgramEntryNotifications

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

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

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

      void registerForNewProgramEntries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new program entries. ProgramEntryReceiver.newProgramEntries() is invoked when a new ProgramEntry appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewProgramEntriesForStudent

      void registerForNewProgramEntriesForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new program entries for the given student. ProgramEntryReceiver.newProgramEntries() is invoked when a new program entry appears in this course catalog.
      Parameters:
      resourceId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewProgramEntriesForProgram

      void registerForNewProgramEntriesForProgram(Id programId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new program entries for the given program. ProgramEntryReceiver.newProgramEntries() is invoked when a new program entry appears in this course catalog.
      Parameters:
      programId - the Id of the Program to monitor
      Throws:
      NullArgumentException - programId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProgramEntries

      void registerForChangedProgramEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated program entries. ProgramEntryReceiver.changedProgramEntries() is invoked when a program entry in this course catalog is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProgramEntriesForStudent

      void registerForChangedProgramEntriesForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated program entries for the given student. ProgramEntryReceiver.changedProgramEntries() is invoked when a program entry in this course catalog is changed.
      Parameters:
      resourceId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProgramEntriesForProgram

      void registerForChangedProgramEntriesForProgram(Id programId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated program entries for the given program. ProgramEntryReceiver.changedProgramEntries() is invoked when a program entry in this course catalog is changed.
      Parameters:
      programId - the Id of the Program to monitor
      Throws:
      NullArgumentException - programId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedProgramEntry

      void registerForChangedProgramEntry(Id programEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated program entry. ProgramEntryReceiver.changedProgramEntries() is invoked when the specified program entry in this course catalog is changed.
      Parameters:
      programEntryId - the Id of the ProgramEntry to monitor
      Throws:
      NullArgumentException - programEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProgramEntries

      void registerForDeletedProgramEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted program entries. ProgramEntryReceiver.deletedProgramEntries() is invoked when a program entry is deleted or removed from this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProgramEntriesForStudent

      void registerForDeletedProgramEntriesForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted program entries for the given student. ProgramEntryReceiver.deletedProgramEntries() is invoked when a program entry is removed from this course catalog.
      Parameters:
      resourceId - the Id of the Resource to monitor
      Throws:
      NullArgumentException - resourceId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProgramEntriesForProgram

      void registerForDeletedProgramEntriesForProgram(Id programId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted program entries for the given program. ProgramEntryReceiver.deletedProgramEntries() is invoked when a program entry is removed from this course catalog.
      Parameters:
      programId - the Id of the Program to monitor
      Throws:
      NullArgumentException - programId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedProgramEntry

      void registerForDeletedProgramEntry(Id programEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted program entry. ProgramEntryReceiver.deletedProgramEntries() is invoked when the specified program entry is deleted or removed from this course catalog.
      Parameters:
      programEntryId - the Id of the ProgramEntry to monitor
      Throws:
      NullArgumentException - programEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.