Interface EntryNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Entries within a Dictionary . 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 Summary
Modifier and TypeMethodDescriptionvoidacknowledgeEntryNotification(Id notificationId) Acknowledge an entry notification.booleanTests if this user can register forEntrynotifications.Gets theDictionaryassociated with this session.Gets theDictionaryIdassociated with this session.voidRegsiters for notification of updated entries.voidregisterForChangedEntriesByKeyTypeAndValueType(Type keyType, Type valueType) Registers for notifications of an update to entries by key and value type.voidregisterForChangedEntry(Id entryId) Registers for notifications of an update to anEntry.voidRegisters for notification of deleted dictionaries.voidregisterForDeletedEntriesByKeyTypeAndValueType(Type keyType, Type valueTYpe) Registers for notifications of a deleted entries by key and value type.voidregisterForDeletedEntry(Id entryId) Registers for notifications of a deletedEntry.voidRegisters for notifications of new entries.voidregisterForNewEntriesByKeyTypeAndValueType(Type keyType, Type valueType) Registers for notifications of new entries by key and value types.voidReliable notifications are desired.voidUnreliable notifications are desired.voidFederates the view for methods in this session.voidIsolates the view for methods in this session.Methods inherited from interface OsidSession
closeMethods inherited from interface OsidSession
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactionsModifier and TypeMethodDescriptionGets the agent authenticated to this session.Gets theIdof the agent authenticated to this session.Gets the rate of the service clock.getDate()Gets the service date which may be the current date or the effective date in which this session exists.Gets the effective agent in use by this session.Gets theIdof the effective agent in use by this session.Gets theDisplayTextformatTypepreference in effect for this session.Gets the locale indicating the localization preferences in effect for this session.booleanTests if an agent is authenticated to this session.Starts a new transaction for this sesson.booleanTests for the availability of transactions.
-
Method Details
-
getDictionaryId
Id getDictionaryId()Gets theDictionaryIdassociated with this session.- Returns:
- the
DictionaryIdassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getDictionary
Gets theDictionaryassociated with this session.- Returns:
- the
Dictionaryassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForEntryNotifications
boolean canRegisterForEntryNotifications()Tests if this user can register forEntrynotifications. 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.
-
useFederatedDictionaryView
void useFederatedDictionaryView()Federates the view for methods in this session. A federated view will include entries from parent dictionaries in the dictionary hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedDictionaryView
void useIsolatedDictionaryView()Isolates the view for methods in this session. An isolated view restricts notifications for entries to this dictionary only.- Compliance:
mandatory- This method is must be implemented.
-
reliableEntryNotifications
void reliableEntryNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgEntryNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableEntryNotifications
void unreliableEntryNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeEntryNotification
void acknowledgeEntryNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge an entry notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewEntries
Registers for notifications of new entries.EntryReceiver.newEntries()is invoked when a newEntryis created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewEntriesByKeyTypeAndValueType
void registerForNewEntriesByKeyTypeAndValueType(Type keyType, Type valueType) throws OperationFailedException, PermissionDeniedException Registers for notifications of new entries by key and value types.EntryReceiver.newEntries()is invoked when a newEntryis created.- Parameters:
keyType- the entry key typevalueType- the entry key type- Throws:
NullArgumentException-keyTypeorvalueTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedEntries
Regsiters for notification of updated entries.EntryReceiver.changedEntries()is invoked when anEntryis changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedEntriesByKeyTypeAndValueType
void registerForChangedEntriesByKeyTypeAndValueType(Type keyType, Type valueType) throws OperationFailedException, PermissionDeniedException Registers for notifications of an update to entries by key and value type.EntryReceiver.changedEntries()is invoked when the specifiedEntryis changed.- Parameters:
keyType- the entry key typevalueType- the entry key type- Throws:
NullArgumentException-keyTypeorvalueTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedEntry
Registers for notifications of an update to anEntry.EntryReceiver.changedEntries()is invoked when the specifiedEntryis changed.- Parameters:
entryId- the entryId- Throws:
NullArgumentException-entryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedEntries
Registers for notification of deleted dictionaries.EntryReceiver.deletedEntries()is invoked when the specifiedEntryis deleted.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedEntriesByKeyTypeAndValueType
void registerForDeletedEntriesByKeyTypeAndValueType(Type keyType, Type valueTYpe) throws OperationFailedException, PermissionDeniedException Registers for notifications of a deleted entries by key and value type.EntryReceiver.deletedEntries()is invoked when the specifiedEntryis removed from this dictionary.- Parameters:
keyType- the entry key typevalueTYpe- the entry key type- Throws:
NullArgumentException-keyType or valueTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedEntry
Registers for notifications of a deletedEntry.EntryReceiver.deletedEntries()is invoked when the specifiedEntryis removed from this dictionary.- Parameters:
entryId- the entryId- Throws:
NullArgumentException-entryIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-