Interface IdiomNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Idioms in this Press . This also includes existing
idioms that may appear or disappear due to changes in the Press
hierarchy, 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.
The two views defined in this session correspond to the views in the
IdiomLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeIdiomNotification(Id notificationId) Acknowledge an idiom notification.booleanTests if this user can register forIdiomnotifications.getPress()Gets thePressassociated with this session.Gets thePressIdassociated with this session.voidregisterForChangedIdiom(Id idiomId) Registers for notification of an updated idiom.voidRegisters for notification of updated idioms.voidregisterForChangedIdiomsForText(Id textId) Register for notifications of updated idioms for the given textId.voidregisterForDeletedIdiom(Id idiomId) Registers for notification of a deleted idiom.voidRegisters for notification of deleted idioms.voidregisterForDeletedIdiomsForText(Id textId) Register for notifications of deleted idioms for the given textId.voidRegister for notifications of new idioms.voidregisterForNewIdiomsForText(Id textId) Register for notifications of new idioms for the given textId.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
-
getPressId
Id getPressId()Gets thePressIdassociated with this session.- Returns:
- the
Press Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getPress
Gets thePressassociated with this session.- Returns:
- the press
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForIdiomNotifications
boolean canRegisterForIdiomNotifications()Tests if this user can register forIdiomnotifications. 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 press that may opt not to offer notification operations.- Returns:
falseif notification methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useFederatedPressView
void useFederatedPressView()Federates the view for methods in this session. A federated view will include idioms in presses which are children of this press in the press hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedPressView
void useIsolatedPressView()Isolates the view for methods in this session. An isolated view restricts notifications to this press only.- Compliance:
mandatory- This method is must be implemented.
-
reliableIdionNotifications
void reliableIdionNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeIdiomNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableIdiomNotifications
void unreliableIdiomNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeIdiomNotification
void acknowledgeIdiomNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge an idiom notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewIdioms
Register for notifications of new idioms.IdiomReceiver.newIdiom()is invoked when a newIdiomappears in this press.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewIdiomsForText
void registerForNewIdiomsForText(Id textId) throws OperationFailedException, PermissionDeniedException Register for notifications of new idioms for the given textId.IdiomReceiver.newIdiom()is invoked when a newIdiomis created.- Parameters:
textId- theIdof the text to monitor- Throws:
NullArgumentException-textIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedIdioms
Registers for notification of updated idioms.IdiomReceiver.changedIdiom()is invoked when an idiom in this press is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedIdiomsForText
void registerForChangedIdiomsForText(Id textId) throws OperationFailedException, PermissionDeniedException Register for notifications of updated idioms for the given textId.IdiomReceiver.changedIdiom()is invoked when an idiom in this press is changed.- Parameters:
textId- theIdof the text to monitor- Throws:
NullArgumentException-textIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedIdiom
Registers for notification of an updated idiom.IdiomReceiver.changedIdiom()is invoked when the specified idiom in this press is changed.- Parameters:
idiomId- theIdof theIdiomto monitor- Throws:
NullArgumentException-idiomIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedIdioms
Registers for notification of deleted idioms.IdiomReceiver.deletedIdiom()is invoked when an idiom is deleted or removed from this press.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedIdiomsForText
void registerForDeletedIdiomsForText(Id textId) throws OperationFailedException, PermissionDeniedException Register for notifications of deleted idioms for the given textId.IdiomReceiver.deletedIdiom()is invoked when an idiom in this press is removed or deleted.- Parameters:
textId- theIdof the text to monitor- Throws:
NullArgumentException-textIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedIdiom
Registers for notification of a deleted idiom.IdiomReceiver.deletedIdiom()is invoked when the specified idiom is deleted or removed from this press.- Parameters:
idiomId- theIdof theIdiomto monitor- Throws:
NullArgumentException-idiomIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-