Interface ResourceSignalNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications for signal
crossings in this Map . 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.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can register for notifications.getMap()Gets theMapassociated with this session.getMapId()Gets theMapIdassociated with this session.voidregisterForCrossedSignal(Id signalId) Register for notifications of resources crossing a given signal.voidregisterForCrossedSignalsByPath(Id pathId) Register for notifications of resources crossing signals on the given path.voidregisterForCrossedSignalsForResource(Id resourceId) Register for notifications of resources crossing signals.voidregisterForCrossedSignalsForResourcesByGenusType(Type resourceGenusType) Register for notifications of resources crossing signals for resources of the given genus type.voidRegister for notifications of resources passing signals.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
-
getMapId
Id getMapId()Gets theMapIdassociated with this session.- Returns:
- the
Map Idassociated with this session - Compliance:
mandatory- This method must be implemented.
-
getMap
Gets theMapassociated with this session.- Returns:
- the map
- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
canRegisterForResourceSignalNotifications
boolean canRegisterForResourceSignalNotifications()Tests if this user can register for 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 aPERMISSION_DENIED. This is intended as a hint to an application that may wish not to offer notification operations to unauthorized users.- Returns:
falseif notification methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useFederatedMapView
void useFederatedMapView()Federates the view for methods in this session. A federated view will include signals in maps which are children of this map in the map hierarchy.- Compliance:
mandatory- This method is must be implemented.
-
useIsolatedMapView
void useIsolatedMapView()Isolates the view for methods in this session. An isolated view restricts notifications to this map only.- Compliance:
mandatory- This method is must be implemented.
-
registerForSignals
Register for notifications of resources passing signals.ResourceSignalReceiver.crossedSignal()is invoked when a resource crosses a signal.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForCrossedSignal
void registerForCrossedSignal(Id signalId) throws OperationFailedException, PermissionDeniedException Register for notifications of resources crossing a given signal.ResourceSignalReceiver.crossedSignal()is invoked when a resource crosses the designated signal.- Parameters:
signalId- theIdof theSignalto monitor- Throws:
NullArgumentException-signalIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForCrossedSignalsForResource
void registerForCrossedSignalsForResource(Id resourceId) throws OperationFailedException, PermissionDeniedException Register for notifications of resources crossing signals.ResourcePathReceiver.crossedSignal()is invoked when the specified resource crosses a signal.- Parameters:
resourceId- theIdof theResourceto monitor- Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForCrossedSignalsForResourcesByGenusType
void registerForCrossedSignalsForResourcesByGenusType(Type resourceGenusType) throws OperationFailedException, PermissionDeniedException Register for notifications of resources crossing signals for resources of the given genus type.ResourcePathReceiver.crossedSignal()is invoked when the specified resource crosses a signal.- Parameters:
resourceGenusType- the genus type of theResourceto monitor- Throws:
NullArgumentException-resourceGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForCrossedSignalsByPath
void registerForCrossedSignalsByPath(Id pathId) throws OperationFailedException, PermissionDeniedException Register for notifications of resources crossing signals on the given path.ResourcePathReceiver.crossedSignal()is invoked when the specified resource crosses a signal.- Parameters:
pathId- theIdof thePathto monitor- Throws:
NullArgumentException-pathIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-