Interface ItemNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive asynchronous notifications on
adds/changes to Item objects. 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
ItemLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeItemNotification(Id notificationId) Acknowledge an item notification.booleanTests if this user can register forItemnotifications.getBank()Gets theBankassociated with this session.Gets theBankIdassociated with this session.voidregisterForChangedItem(Id itemId) Registers for notification of an updated assessment item.voidRegisters for notification of updated assessment items.voidregisterForDeletedItem(Id itemId) Registers for notification of a deleted assessment item.voidRegisters for notification of deleted assessment items.voidRegister for notifications of new assessment items.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
-
getBankId
Id getBankId()Gets theBankIdassociated with this session.- Returns:
- the
Bank Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getBank
Gets theBankassociated with this session.- Returns:
- the
Bankassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForItemNotifications
boolean canRegisterForItemNotifications()Tests if this user can register forItemnotifications. 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.
-
useFederatedBankView
void useFederatedBankView()Federates the view for methods in this session. A federated view will include notifications for assessment items in assessment banks which are children of this assessment bank in the assessment bank hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedBankView
void useIsolatedBankView()Isolates the view for methods in this session. An isolated view restricts notifications to this assessment bank only.- Compliance:
mandatory- This method is must be implemented.
-
reliableItemNotifications
void reliableItemNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeItemNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableItemNotifications
void unreliableItemNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeItemNotification
void acknowledgeItemNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge an item notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewItems
Register for notifications of new assessment items.ItemReceiver.newItems()is invoked when a newItemis created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurred- Compliance:
mandatory- This method must be implemented.
-
registerForChangedItems
Registers for notification of updated assessment items.ItemReceiver.changedItems()is invoked when an assessment item is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurred- Compliance:
mandatory- This method must be implemented.
-
registerForChangedItem
void registerForChangedItem(Id itemId) throws NotFoundException, OperationFailedException, PermissionDeniedException Registers for notification of an updated assessment item.ItemReceiver.changedItems()is invoked when the specified assessment item is changed.- Parameters:
itemId- theIdof theAssessmentto monitor- Throws:
NotFoundException- anitemwas not found identified by the givenIdNullArgumentException-itemId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurred- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedItems
Registers for notification of deleted assessment items.ItemReceiver.deletedItems()is invoked when an assessment item is removed from the assessment bank.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurred- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedItem
void registerForDeletedItem(Id itemId) throws NotFoundException, OperationFailedException, PermissionDeniedException Registers for notification of a deleted assessment item.ItemReceiver.deletedItems()is invoked when the specified assessment item is removed from the assessment bank.- Parameters:
itemId- theIdof theItemto monitor- Throws:
NotFoundException- anItemwas not found identified by the givenIdNullArgumentException-itemId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure occurred- Compliance:
mandatory- This method must be implemented.
-