Interface ProfileItemNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive asynchronous notifications on
adds/changes to ProfileItem 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
ProfileItemLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeProfileItemNotification(Id notificationId) Acknowledge a profile item notification.booleanTests if this user can register forProfileItemnotifications.Gets theProfileassociated with this session.Gets theProfileIdassociated with this session.voidregisterForChangedProfileItem(Id profileItemId) Registers for notification of an updated profile item.voidRegisters for notification of updated profile items.voidregisterForDeletedProfileItem(Id profileItemId) Registers for notification of a deleted profile item.voidRegisters for notification of deleted profile items.voidRegister for notifications of new pofile 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
-
getProfileId
Id getProfileId()Gets theProfileIdassociated with this session.- Returns:
- the
Profile Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getProfile
Gets theProfileassociated with this session.- Returns:
- the
Profileassociated with this session - Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForProfileItemNotifications
boolean canRegisterForProfileItemNotifications()Tests if this user can register forProfileItemnotifications. 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.
-
useFederatedProfileView
void useFederatedProfileView()Federates the view for methods in this session. A federated view will include items in profiles which are children of this profile in the profile hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedProfileView
void useIsolatedProfileView()Isolates the view for methods in this session. An isolated view restricts notifications to this profile only.- Compliance:
mandatory- This method is must be implemented.
-
reliableProfileItemNotifications
void reliableProfileItemNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeProfileItemNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableProfileItemNotifications
void unreliableProfileItemNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeProfileItemNotification
void acknowledgeProfileItemNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a profile item notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewProfileItems
Register for notifications of new pofile items.ProfileItemReceiver.newProfileItems()is invoked when a new ProfileItem is created.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedProfileItems
Registers for notification of updated profile items.ProfileItemReceiver.changedProfileItems()is invoked when a profile item is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedProfileItem
void registerForChangedProfileItem(Id profileItemId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated profile item.ProfileItemReceiver.changedProfileItems()is invoked when the specified profile item is changed.- Parameters:
profileItemId- theIdof theProfileItemto monitor- Throws:
NullArgumentException-profileItemId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedProfileItems
Registers for notification of deleted profile items.ProfileItemReceiver.deletedProfileItems()is invoked when a profile is removed from this profile.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedProfileItem
void registerForDeletedProfileItem(Id profileItemId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted profile item.ProfileItemReceiver.changedProfileItems()is invoked when the specified profile item is removed from this profile.- Parameters:
profileItemId- theIdof theProfileItemto monitor- Throws:
NullArgumentException-profileItemId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-