public interface PoolNotificationSession extends OsidSession
This session defines methods to receive notifications on adds/changes
to Pool
objects in this Distributor.
This
also includes existing pools that may appear or disappear due to changes
in the Distributor
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
PoolLookupSession.
Modifier and Type | Method and Description |
---|---|
boolean |
canRegisterForPoolNotifications()
Tests if this user can register for
Pool notifications. |
Distributor |
getDistributor()
Gets the
Distributor associated with this session. |
Id |
getDistributorId()
Gets the
Distributor Id associated with
this session. |
void |
registerForChangedPool(Id poolId)
Registers for notification of an updated pool.
|
void |
registerForChangedPools()
Registers for notification of updated pools.
|
void |
registerForChangedPoolsForBroker(Id brokerId)
Register for notifications of updated pools for the given broker
Id. |
void |
registerForDeletedPool(Id poolId)
Registers for notification of a deleted pool.
|
void |
registerForDeletedPools()
Registers for notification of deleted pools.
|
void |
registerForDeletedPoolsForBroker(Id brokerId)
Register for notifications of deleted pools for the given broker
Id. |
void |
registerForNewPools()
Register for notifications of new pools.
|
void |
registerForNewPoolsForBroker(Id brokerId)
Register for notifications of new pools for the given broker
Id. |
void |
useFederatedDistributorView()
Federates the view for methods in this session.
|
void |
useIsolatedDistributorView()
Isolates the view for methods in this session.
|
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
Id getDistributorId()
Distributor
Id
associated with
this session. Distributor Id
associated with this sessionmandatory
- This method must be implemented. Distributor getDistributor() throws OperationFailedException, PermissionDeniedException
Distributor
associated with this session.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canRegisterForPoolNotifications()
Pool
notifications.
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 a PERMISSION_DENIED.
This is intended as a
hint to an application that may opt not to offer notification
operations. false
if notification methods are not
authorized, true
otherwisemandatory
- This method must be implemented. void useFederatedDistributorView()
mandatory
- This method is must be implemented. void useIsolatedDistributorView()
mandatory
- This method is must be implemented. void registerForNewPools() throws OperationFailedException, PermissionDeniedException
PoolReceiver.newPools()
is invoked when a new Pool
appears in this distributor.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForNewPoolsForBroker(Id brokerId) throws OperationFailedException, PermissionDeniedException
Id.
PoolReceiver.newPools()
is invoked when a
new Pool
is created.brokerId
- the Id
of the broker to monitorNullArgumentException
- brokerId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedPools() throws OperationFailedException, PermissionDeniedException
PoolReceiver.changedPools()
is invoked when a pool in this
distributor is changed.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedPoolsForBroker(Id brokerId) throws OperationFailedException, PermissionDeniedException
Id.
PoolReceiver.changedPools()
is
invoked when a pool in this distributor is changed.brokerId
- the Id
of the broker to monitorNullArgumentException
- brokerId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForChangedPool(Id poolId) throws OperationFailedException, PermissionDeniedException
PoolReceiver.changedPools()
is invoked when the specified pool
in this distributor is changed.poolId
- the Id
of the Pool
to
monitorNullArgumentException
- poolId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedPools() throws OperationFailedException, PermissionDeniedException
PoolReceiver.deletedPools()
is invoked when a pool is deleted
or removed from this distributor.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedPoolsForBroker(Id brokerId) throws OperationFailedException, PermissionDeniedException
Id.
PoolReceiver.deletedPools()
is
invoked when a pool in this distributor is removed or deleted.brokerId
- the Id
of the broker to monitorNullArgumentException
- brokerId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. void registerForDeletedPool(Id poolId) throws OperationFailedException, PermissionDeniedException
PoolReceiver.deletedPools()
is invoked when the specified pool
is deleted or removed from this distributor.poolId
- the Id
of the Pool
to
monitorNullArgumentException
- poolId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.