Interface DictionaryNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, 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.
Like all OsidSessions, DictionaryNotificationSessions
are dedicated to single processing threads and a single authenticated
user.
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeDictionaryNotification(Id notificationId) Acknowledge a dictionary notification.booleanTests if this user can register forDictionarynotifications.voidRegisters for notification of updated dictionaries.voidregisterForChangedDictionary(Id dictionaryId) Registers for notification of an updated dictionary.voidRegisters for notification of an updated dictionary hierarchy structure.voidregisterForChangedDictionaryHierarchyForAncestors(Id dictionaryId) Registers for notification of an updated dictionary hierarchy structure.voidregisterForChangedDictionaryHierarchyForDescendants(Id dictionaryId) Registers for notification of an updated dictionary hierarchy structure.voidRegisters for notification of deleted dictionaries.voidregisterForDeletedDictionary(Id dictionaryId) Registers for notification of a deleted dictionary.voidRegister for notifications of new dictionaries.voidReliable notifications are desired.voidUnreliable notifications are desired.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatTypes, getLocales, isAuthenticated, startTransaction, supportsTransactions
-
Method Details
-
canRegisterForDictionaryNotifications
boolean canRegisterForDictionaryNotifications()Tests if this user can register forDictionarynotifications. 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 aPERMISSION_DENIED. This is intended as a hint to an application that may opt not to offer notification operations.- Returns:
falseif notification methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
reliableDictionaryNotifications
void reliableDictionaryNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeDictionaryNotification().- Compliance:
mandatory- This method must be implemented.
-
unreliableDictionaryNotifications
void unreliableDictionaryNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method must be implemented.
-
acknowledgeDictionaryNotification
void acknowledgeDictionaryNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a dictionary notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewDictionaries
Register for notifications of new dictionaries.DictionaryReceiver.newDictionary()is invoked when a newDictionaryis created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedDictionaries
Registers for notification of updated dictionaries.DictionaryReceiver.changedDictionaries()is invoked when a dictionary is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- 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- theIdof theDictionaryto monitor- Throws:
NullArgumentException-dictionaryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedDictionaries
Registers for notification of deleted dictionaries.DictionaryReceiver.deletedDictionaries()is invoked when a dictionary is deleted.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- 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- theIdof theDictionaryto monitor- Throws:
NullArgumentException-dictionaryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedDictionaryHierarchy
void registerForChangedDictionaryHierarchy() throws OperationFailedException, PermissionDeniedExceptionRegisters 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 requestPermissionDeniedException- 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- theIdof theDictionarynode to monitor- Throws:
NullArgumentException-dictionaryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- 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- theIdof theDictionarynode to monitor- Throws:
NullArgumentException-dictionaryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-