Interface SpeedZoneNotificationSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

public interface SpeedZoneNotificationSession extends 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 Details

    • getMapId

      Id getMapId()
      Gets the Map Id associated with this session.
      Returns:
      the Map Id associated with this session
      Compliance:
      mandatory - This method must be implemented.
    • getMap

      Gets the Map associated with this session.
      Returns:
      the map
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • canRegisterForSpeedZoneNotifications

      boolean canRegisterForSpeedZoneNotifications()
      Tests if this user can register for SpeedZone 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.
      Returns:
      false if notification methods are not authorized, true otherwise
      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 - the Id of the notification
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForNewSpeedZones

      void registerForNewSpeedZones() throws OperationFailedException, PermissionDeniedException
      Register for notifications of new speed zones. SpeedZoneReceiver.newSpeedZones() is invoked when a new SpeedZone appears in this map.
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - 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 new SpeedZone appears in this map.
      Parameters:
      pathId - the Id of the path to monitor
      Throws:
      NullArgumentException - pathId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForChangedSpeedZones

      void registerForChangedSpeedZones() throws OperationFailedException, PermissionDeniedException
      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 request
      PermissionDeniedException - 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 a SpeedZone in this map is changed.
      Parameters:
      pathId - the Id of the path to monitor
      Throws:
      NullArgumentException - pathId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - 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 - the Id of the SpeedZone to monitor
      Throws:
      NullArgumentException - speedZoneId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • registerForDeletedSpeedZones

      void registerForDeletedSpeedZones() throws OperationFailedException, PermissionDeniedException
      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 request
      PermissionDeniedException - 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 a SpeedZone is removed or deleted from this map.
      Parameters:
      pathId - the Id of the path to monitor
      Throws:
      NullArgumentException - pathId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - 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 - the Id of the SpeedZone to monitor
      Throws:
      NullArgumentException - speedZoneId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.