Interface ObjectiveBankNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface ObjectiveBankNotificationSession extends OsidSession

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

  • Method Details

    • canRegisterForObjectiveBankNotifications

      boolean canRegisterForObjectiveBankNotifications()
      Tests if this user can register for ObjectiveBank 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.
    • reliableObjectiveBankNotifications

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

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

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

      void registerForNewObjectiveBanks() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new objective banks. ObjectiveBankReceiver.newObjectiveBanks() is invoked when a new ObjectiveBank is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedObjectiveBanks

      void registerForChangedObjectiveBanks() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated objective banks. ObjectiveBankReceiver.changedObjectiveBanks() is invoked when an objective bank is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedObjectiveBank

      void registerForChangedObjectiveBank(Id objectiveBankId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated objective bank. ObjectiveBankReceiver.changedObjectiveBanks() is invoked when the specified objective bank is changed.
      Parameters:
      objectiveBankId - the Id of the objective bank to monitor
      Throws:
      NullArgumentException - objectiveBankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedObjectiveBanks

      void registerForDeletedObjectiveBanks() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted objective banks. ObjectiveBankReceiver.deletedObjectiveBanks() is invoked when a calenedar is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedObjectiveBank

      void registerForDeletedObjectiveBank(Id objectiveBankId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted objective bank. ObjectiveBankReceiver.deletedObjectiveBanks() is invoked when the specified objective bank is deleted.
      Parameters:
      objectiveBankId - the Id of the objective bank to monitor
      Throws:
      NullArgumentException - objectiveBankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedObjectiveBankHierarchy

      void registerForChangedObjectiveBankHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated objective bank hierarchy structure. ObjectiveBankReceiver.changedChildOfObjectiveBanks() is invoked when a node experiences a change in its children.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedObjectiveBankHierarchyForAncestors

      void registerForChangedObjectiveBankHierarchyForAncestors(Id objectiveBankId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated objective bank hierarchy structure. ObjectiveBankReceiver.changedChildOfObjectiveBanks() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      objectiveBankId - the Id of the ObjectiveBank node to monitor
      Throws:
      NullArgumentException - objectiveBankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedObjectiveBankHierarchyForDescendants

      void registerForChangedObjectiveBankHierarchyForDescendants(Id objectiveBankId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated objective bank hierarchy structure. ObjectiveBankReceiver.changedChildOfObjectiveBanks() is invoked when the specified node or any of its descendants experiences a change in its children.
      Parameters:
      objectiveBankId - the Id of the ObjectiveBank node to monitor
      Throws:
      NullArgumentException - objectiveBankId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.