Interface SpeedZoneNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to SpeedZone objects in this Map . This also includes
existing speed zones that may appear or disappear due to changes in the
SpeedZone 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
SpeedZoneLookupSession .
-
Method Summary
Modifier and TypeMethodDescriptionvoidacknowledgeSpeedZoneNotification(Id notificationId) Acknowledge a speed zone notification.booleanTests if this user can register forSpeedZonenotifications.getMap()Gets theMapassociated with this session.getMapId()Gets theMapIdassociated with this session.voidregisterForChangedSpeedZone(Id speedZoneId) Registers for notification of an updated speed zone.voidRegisters for notification of updated speed zones.voidRegister for notifications of updated speed zones on the given path.voidregisterForDeletedSpeedZone(Id speedZoneId) Registers for notification of a deleted speed zone.voidRegisters for notification of deleted speed zones.voidRegister for notifications of deleted speed zones on the given path.voidRegister for notifications of new speed zones.voidregisterForNewSpeedZonesForPath(Id pathId) Register for notifications of new speed zones on the given path.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.
-
canRegisterForSpeedZoneNotifications
boolean canRegisterForSpeedZoneNotifications()Tests if this user can register forSpeedZonenotifications. 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.
-
useFederatedMapView
void useFederatedMapView()Federates the view for methods in this session. A federated view will include speed zones 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.
-
acknowledgeSpeedZoneNotification
void acknowledgeSpeedZoneNotification(Id notificationId) throws OperationFailedException, PermissionDeniedException Acknowledge a speed zone notification.- Parameters:
notificationId- theIdof the notification- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewSpeedZones
Register for notifications of new speed zones.SpeedZoneReceiver.newSpeedZones()is invoked when a newSpeedZoneappears in this map.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForNewSpeedZonesForPath
void registerForNewSpeedZonesForPath(Id pathId) throws OperationFailedException, PermissionDeniedException Register for notifications of new speed zones on the given path.SpeedZoneReceiver.newSpeedZones()is invoked when a newSpeedZoneappears in this map.- Parameters:
pathId- theIdof the path to monitor- Throws:
NullArgumentException-pathId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedSpeedZones
Registers for notification of updated speed zones.SpeedZoneReceiver.changedSpeedZones()is invoked when a speed zone in this map is changed.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedSpeedZonesForPath
void registerForChangedSpeedZonesForPath(Id pathId) throws OperationFailedException, PermissionDeniedException Register for notifications of updated speed zones on the given path.SpeedZoneReceiver.changedSpeedZones()is invoked when aSpeedZonein this map is changed.- Parameters:
pathId- theIdof the path to monitor- Throws:
NullArgumentException-pathId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForChangedSpeedZone
void registerForChangedSpeedZone(Id speedZoneId) throws OperationFailedException, PermissionDeniedException Registers for notification of an updated speed zone.SpeedZoneReceiver.changedSpeedZones()is invoked when the specified speed zone in this map is changed.- Parameters:
speedZoneId- theIdof theSpeedZoneto monitor- Throws:
NullArgumentException-speedZoneIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedSpeedZones
Registers for notification of deleted speed zones.SpeedZoneReceiver.deletedSpeedZones()is invoked when a speed zone is deleted or removed from this map.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedSpeedZonesForPath
void registerForDeletedSpeedZonesForPath(Id pathId) throws OperationFailedException, PermissionDeniedException Register for notifications of deleted speed zones on the given path.SpeedZoneReceiver.changedSpeedZone()is invoked when aSpeedZoneis removed or deleted from this map.- Parameters:
pathId- theIdof the path to monitor- Throws:
NullArgumentException-pathId is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForDeletedSpeedZone
void registerForDeletedSpeedZone(Id speedZoneId) throws OperationFailedException, PermissionDeniedException Registers for notification of a deleted speed zone.SpeedZoneReceiver.deletedSpeedZones()is invoked when the specified speed zone is deleted or removed from this map.- Parameters:
speedZoneId- theIdof theSpeedZoneto monitor- Throws:
NullArgumentException-speedZoneIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-