Interface RequestNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to Request objects in this Distributor . This also
includes existing requests that may appear or disappear due to changes in
the Dstributor 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
RequestLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeRequestNotification(Id notificationId) Acknowledge a request notification.booleanTests if this user can register forRequestnotifications.Gets theDistributorassociated with this session.Gets theDistributorIdassociated with this session.voidregisterForChangedRequest(Id requestId) Registers for notification of an updated request.voidRegisters for notification of updated requests.voidregisterForChangedRequestsForQueue(Id queueId) Register for notifications of updated requests for the given queueId.voidregisterForChangedRequestsForResource(Id resourceId) Register for notifications of updated requests for the given resourceId.voidregisterForDeletedRequest(Id requestId) Registers for notification of a deleted request.voidRegisters for notification of deleted requests.voidregisterForDeletedRequestsForQueue(Id queueId) Register for notifications of deleted requests for the given queueId.voidregisterForDeletedRequestsForResource(Id resourceId) Register for notifications of deleted requests for the given resourceId.voidRegister for notifications of new requests.voidregisterForNewRequestsForQueue(Id queueId) Register for notifications of new requests for the given queueId.voidregisterForNewRequestsForResource(Id resourceId) Register for notifications of new requests for the given resourceId.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
-
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.
-
canRegisterForRequestNotifications
boolean canRegisterForRequestNotifications()Tests if this user can register forRequestnotifications. 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 requests in distributors which are children of this distributor in the distributor hierarchy.- Compliance:
mandatory- This method is 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 is must be implemented.
-
reliableRequestNotifications
void reliableRequestNotifications()Reliable notifications are desired. In reliable mode, notifications are to be acknowledged usingacknowledgeRequestNotification().- Compliance:
mandatory- This method is must be implemented.
-
unreliableRequestNotifications
void unreliableRequestNotifications()Unreliable notifications are desired. In unreliable mode, notifications do not need to be acknowledged.- Compliance:
mandatory- This method is must be implemented.
-
acknowledgeRequestNotification
void acknowledgeRequestNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a request notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewRequests
Register for notifications of new requests.RequestReceiver.newRequests()is invoked when a newRequestappears in this distributor.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewRequestsForResource
void registerForNewRequestsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException Register for notifications of new requests for the given resourceId.RequestReceiver.newRequests()is invoked when a newRequestis created.- Parameters:
resourceId- theIdof the resource to monitor- Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewRequestsForQueue
void registerForNewRequestsForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException Register for notifications of new requests for the given queueId.RequestReceiver.newRequests()is invoked when a newRequestis created.- Parameters:
queueId- theIdof the queue to monitor- Throws:
NullArgumentException-queueIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedRequests
Registers for notification of updated requests.RequestReceiver.changedRequests()is invoked when a request in this distributor is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedRequestsForResource
void registerForChangedRequestsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException Register for notifications of updated requests for the given resourceId.RequestReceiver.changedRequests()is invoked when aRequestin this distributor is changed.- Parameters:
resourceId- theIdof the resource to monitor- Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedRequestsForQueue
void registerForChangedRequestsForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException Register for notifications of updated requests for the given queueId.RequestReceiver.changedRequests()is invoked when aRequestin this distributor is changed.- Parameters:
queueId- the Id of the queue to monitor- Throws:
NullArgumentException-queueIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedRequest
void registerForChangedRequest(Id requestId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated request.RequestReceiver.changedRequests()is invoked when the specified request in this distributor is changed.- Parameters:
requestId- theIdof theRequestto monitor- Throws:
NullArgumentException-requestIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedRequests
Registers for notification of deleted requests.RequestReceiver.deletedRequests()is invoked when a request is deleted or removed from this distributor.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedRequestsForResource
void registerForDeletedRequestsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException Register for notifications of deleted requests for the given resourceId.RequestReceiver.deletedRequests()is invoked when aRequestis deleted or removed from this distributor.- Parameters:
resourceId- theIdof the resource to monitor- Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedRequestsForQueue
void registerForDeletedRequestsForQueue(Id queueId) throws OperationFailedException, PermissionDeniedException Register for notifications of deleted requests for the given queueId.RequestReceiver.deletedRequests()is invoked when aRequestis deleted or removed from this distributor.- Parameters:
queueId- the Id of the queue to monitor- Throws:
NullArgumentException-queueIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedRequest
void registerForDeletedRequest(Id requestId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted request.RequestReceiver.deletedRequests()is invoked when the specified request is deleted or removed from this distributor.- Parameters:
requestId- theIdof theRequestto monitor- Throws:
NullArgumentException-requestIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-