Interface CredentialEntryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface CredentialEntryNotificationSession extends OsidSession

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

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

      boolean canRegisterForCredentialEntryNotifications()
      Tests if this user can register for CredentialEntry 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 credential 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.
    • reliableCredentialEntryNotifications

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

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

      void acknowledgeCredentialEntryNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException
      Acknowledge a credential 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.
    • registerForNewCredentialEntries

      void registerForNewCredentialEntries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new credential entries. CredentialEntryReceiver.newCredentialEntries() is invoked when a new CredentialEntry appears in this course catalog.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewCredentialEntriesForStudent

      void registerForNewCredentialEntriesForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new credential entries for the given student. CredentialEntryReceiver.newCredentialEntries() is invoked when a new credential 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.
    • registerForNewCredentialEntriesForCredential

      void registerForNewCredentialEntriesForCredential(Id credentialId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of new credential entries for the given credential. CredentialEntryReceiver.newCredentialEntries() is invoked when a new credential entry appears in this course catalog.
      Parameters:
      credentialId - the Id of the Credential to monitor
      Throws:
      NullArgumentException - credentialId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCredentialEntries

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

      void registerForChangedCredentialEntriesForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated credential entries for the given student. CredentialEntryReceiver.changedCredentialEntries() is invoked when a credential entry is updated 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.
    • registerForChangedCredentialEntriesForCredential

      void registerForChangedCredentialEntriesForCredential(Id credentialId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated credential entries for the given credential. CredentialEntryReceiver.newCredentialEntries() is invoked when a credential entry is updated in this course catalog.
      Parameters:
      credentialId - the Id of the Credential to monitor
      Throws:
      NullArgumentException - credentialId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedCredentialEntry

      void registerForChangedCredentialEntry(Id credentialEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated credential entry. CredentialEntryReceiver.changedCredentialEntries() is invoked when the specified credential entry in this course catalog is changed.
      Parameters:
      credentialEntryId - the Id of the CredentialEntry to monitor
      Throws:
      NullArgumentException - credentialEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCredentialEntries

      void registerForDeletedCredentialEntries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted credential entries. CredentialEntryReceiver.deletedCredentialEntries() is invoked when a credential 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.
    • registerForDeletedCredentialEntriesForStudent

      void registerForDeletedCredentialEntriesForStudent(Id resourceId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted credential entries for the given student. CredentialEntryReceiver.deletedCredentialEntries() is invoked when a credential entry is deleted or 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.
    • registerForDeletedCredentialEntriesForCredential

      void registerForDeletedCredentialEntriesForCredential(Id credentialId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted credential entries for the given credential. CredentialEntryReceiver.deletedCredentialEntries() is invoked when a credential entry is deleted or removed from this course catalog.
      Parameters:
      credentialId - the Id of the Credential to monitor
      Throws:
      NullArgumentException - credentialId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedCredentialEntry

      void registerForDeletedCredentialEntry(Id credentialEntryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted credential entry. CredentialEntryReceiver.deletedCredentialEntries() is invoked when the specified credential entry is deleted or removed from this course catalog.
      Parameters:
      credentialEntryId - the Id of the CredentialEntry to monitor
      Throws:
      NullArgumentException - credentialEntryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.