Interface PoolProcessorNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to PoolProcessors in this Distributor. This also includes
existing pool processors that may appear or disappear due to changes in
the Distributor hi erarchy, 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
PoolProcessorLookupSession.
Like all OsidSessions,
PoolProcessorNotificationSessions are dedicated to single processing
threads and a single authenticated user.
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgePoolProcessorNotification(Id notificationId) Acknowledge a pool processor notification.booleanTests if this user can register forPoolProcessornotifications.Gets theDistributorassociated with this session.Gets theDistributorIdassociated with this session.voidregisterForChangedPoolProcessor(Id poolProcessorId) Register for notifications of an updated pool processor.voidRegister for notifications of updated pool processors.voidregisterForDeletedPoolProcessor(Id poolProcessorId) Registers for notification of a deleted pool processor.voidRegisters for notification of deleted pool processors.voidRegister for notifications of new pool processors.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, getFormatTypes, getLocales, isAuthenticated, startTransaction, supportsTransactions
-
Method Details
-
getDistributorId
Id getDistributorId()Gets theDistributorIdassociated with this session.- Returns:
- the
Distributor Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getDistributor
Gets theDistributorassociated with this session.- Returns:
- the distributor
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForPoolProcessorNotifications
boolean canRegisterForPoolProcessorNotifications()Tests if this user can register forPoolProcessornotifications. 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.
-
useFederatedDistributorView
void useFederatedDistributorView()Federates the view for methods in this session. A federated view will include pool processors in distributors which are children of this distributor in the distributor hierarchy.- Compliance:
mandatory- This method must be implemented.
-
useIsolatedDistributorView
void useIsolatedDistributorView()Isolates the view for methods in this session. An isolated view restricts notifications to this distributor only.- Compliance:
mandatory- This method must be implemented.
-
reliablePoolProcessorNotifications
void reliablePoolProcessorNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgePoolProcessorNotification().- Compliance:
mandatory- This method must be implemented.
-
unreliablePoolProcessorNotifications
void unreliablePoolProcessorNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method must be implemented.
-
acknowledgePoolProcessorNotification
void acknowledgePoolProcessorNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a pool processor notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewPoolProcessors
Register for notifications of new pool processors.PoolProcessorReceiver.newPoolProcessors()is invoked when a newPoolProcessorappears in this distributor.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPoolProcessors
Register for notifications of updated pool processors.PoolProcessorReceiver.changedPoolProcessors()is invoked when aPoolProcessorin this distributor is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedPoolProcessor
void registerForChangedPoolProcessor(Id poolProcessorId) throws OperationFailedException, PermissionDeniedException Register for notifications of an updated pool processor.PoolProcessorReceiver.changedPoolProcessors()is invoked when the specifiedPoolProcessorin this distributor is changed.- Parameters:
poolProcessorId- theIdof thePoolProcessorto monitor- Throws:
NullArgumentException-poolProcessorIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPoolProcessors
Registers for notification of deleted pool processors.PoolProcessorReceiver.deletedPoolProcessors()is invoked when a pool processor is deleted or removed from this distributor.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedPoolProcessor
void registerForDeletedPoolProcessor(Id poolProcessorId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted pool processor.PoolProcessorReceiver.deletedPoolProcessor()is invoked when the specified pool processor is deleted or removed from this distributor.- Parameters:
poolProcessorId- theIdof thePoolProcessorto monitor- Throws:
NullArgumentException-poolProcessorIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-