Interface AwardNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface AwardNotificationSession extends OsidSession

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

Notifications are triggered with changes to the Award object itself. Adding and removing conferrals result in notifications available from the notification session for conferrals.

  • Method Details

    • getAcademyId

      Id getAcademyId()
      Gets the Academy Id associated with this session.
      Returns:
      the Academy Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getAcademy

      Gets the Academy associated with this session.
      Returns:
      the academy
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForAwardNotifications

      boolean canRegisterForAwardNotifications()
      Tests if this user can register for Award 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.
    • useFederatedAcademyView

      void useFederatedAcademyView()
      Federates the view for methods in this session. A federated view will include awards in academies which are children of this academy in the academy hierarchy.
      Compliance:
      mandatory - This method is must be implemented.
    • useIsolatedAcademyView

      void useIsolatedAcademyView()
      Isolates the view for methods in this session. An isolated view restricts retrievals to this academy only.
      Compliance:
      mandatory - This method is must be implemented.
    • reliableAwardNotifications

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

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

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

      void registerForNewAwards() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new awards. AwardReceiver.newAwards() is invoked when a new Award is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAwards

      void registerForChangedAwards() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated awards. AwardReceiver.changedAwards() is invoked when an award is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedAward

      void registerForChangedAward(Id awardId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated award. AwardReceiver.changedAwards() is invoked when the specified award is changed.
      Parameters:
      awardId - the Id of the Award to monitor
      Throws:
      NullArgumentException - awardId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAwards

      void registerForDeletedAwards() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted awards. AwardReceiver.deletedAwards() is invoked when an award is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedAward

      void registerForDeletedAward(Id awardId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted award. AwardReceiver.deletedAwards() is invoked when the specified award is deleted.
      Parameters:
      awardId - the Id of the Award to monitor
      Throws:
      NullArgumentException - awardId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.