Interface DictionaryNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface DictionaryNotificationSession extends OsidSession

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

    • canRegisterForDictionaryNotifications

      boolean canRegisterForDictionaryNotifications()
      Tests if this user can register for Dictionary 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.
    • reliableDictionaryNotifications

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

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

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

      void registerForNewDictionaries() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new dictionaries. DictionaryReceiver.newDictionary() is invoked when a new Dictionary is created.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDictionaries

      void registerForChangedDictionaries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of updated dictionaries. DictionaryReceiver.changedDictionaries() is invoked when a dictionary is changed.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDictionary

      void registerForChangedDictionary(Id dictionaryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated dictionary. DictionaryReceiver.changedDictionaries() is invoked when the specified dictionary is changed. A notification may be triggered for any updated, deleted or new dictionary the specified dictionary inherits data from.
      Parameters:
      dictionaryId - the Id of the Dictionary to monitor
      Throws:
      NullArgumentException - dictionaryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDictionaries

      void registerForDeletedDictionaries() throws OperationFailedException, PermissionDeniedException
      Registers for notification of deleted dictionaries. DictionaryReceiver.deletedDictionaries() is invoked when a dictionary is deleted.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedDictionary

      void registerForDeletedDictionary(Id dictionaryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of a deleted dictionary. DictionaryReceiver.changedDictionaries() is invoked when the specified dictionary is changed.
      Parameters:
      dictionaryId - the Id of the Dictionary to monitor
      Throws:
      NullArgumentException - dictionaryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDictionaryHierarchy

      void registerForChangedDictionaryHierarchy() throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated dictionary hierarchy structure. DictionaryReceiver.changedChildOfDictionaries() 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.
    • registerForChangedDictionaryHierarchyForAncestors

      void registerForChangedDictionaryHierarchyForAncestors(Id dictionaryId) throws OperationFailedException, PermissionDeniedException
      Registers for notification of an updated dictionary hierarchy structure. DictionaryReceiver.changedChildOfDictionaries() is invoked when the specified node or any of its ancestors experiences a change in its children.
      Parameters:
      dictionaryId - the Id of the Dictionary node to monitor
      Throws:
      NullArgumentException - dictionaryId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedDictionaryHierarchyForDescendants

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