Interface ResourcePositionNotificationSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session defines methods to receive notifications on adds/changes
to resource positions 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.voidregisterForEnteredSpatialUnit(SpatialUnit spatialUnit) Register for notifications of an entered spatial unit.voidregisterForEnteredSpatialUnitForResource(Id resourceId, SpatialUnit spatialUnit) Register for notifications of an entered spatial unit.voidregisterForEnteredSpatialUnitForResourceByGenusType(Id resourceGenusType, SpatialUnit spatialUnit) Register for notifications of an entered spatial unit for resources of the given resource genus type.voidregisterForExitedSpatialUnit(SpatialUnit spatialUnit) Register for notifications of an exited spatial unit.voidregisterForExitedSpatialUnitForResource(Id resourceId, SpatialUnit spatialUnit) Register for notifications of an exited spatial unit.voidregisterForExitedSpatialUnitForResourcesByGenusType(Type resourceGenusType, SpatialUnit spatialUnit) Register for notifications of an exited spatial unit for the given resource genus type.voidregisterForMovedResource(Id resourceId) Registers for notification of moved resources.voidRegisters for notification of moved resources.voidregisterForMovedResourcesByGenusType(Type resourceGenusType) Registers for notification of moved resources for the given resource genus type.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.
-
canRegisterForResourcePathNotifications
boolean canRegisterForResourcePathNotifications()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 positions 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.
-
registerForMovedResources
Registers for notification of moved resources.ResourcePositionReceiver.movedResource()is invoked when a resource changes coordinates.- Throws:
OperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForMovedResource
void registerForMovedResource(Id resourceId) throws OperationFailedException, PermissionDeniedException Registers for notification of moved resources.ResourcePositionReceiver.movedResource()is invoked when the specified resource changes coordinates.- Parameters:
resourceId- theIdof theResourceto monitor- Throws:
NullArgumentException-resourceIdisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForMovedResourcesByGenusType
void registerForMovedResourcesByGenusType(Type resourceGenusType) throws OperationFailedException, PermissionDeniedException Registers for notification of moved resources for the given resource genus type.ResourcePositionReceiver.movedResource()is invoked when a resource changes coordinates.- Parameters:
resourceGenusType- the genus type of theResourceto monitor- Throws:
NullArgumentException-resourceGenusTypeisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method must be implemented.
-
registerForEnteredSpatialUnit
void registerForEnteredSpatialUnit(SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException Register for notifications of an entered spatial unit.ResourcePositionReceiver.enteredSpatialUnit()is invoked when a resource appears in the specified spatial unit.- Parameters:
spatialUnit- theSpatialUnitto monitor- Throws:
NullArgumentException-spatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-
registerForEnteredSpatialUnitForResource
void registerForEnteredSpatialUnitForResource(Id resourceId, SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException Register for notifications of an entered spatial unit.ResourcePositionReceiver.enteredSpatialUnit()is invoked when the specified resource appears in the specified spatial unit.- Parameters:
resourceId- theIdof theResourceto monitorspatialUnit- theSpatialUnitto monitor- Throws:
NullArgumentException-resourceIdorspatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-
registerForEnteredSpatialUnitForResourceByGenusType
void registerForEnteredSpatialUnitForResourceByGenusType(Id resourceGenusType, SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException Register for notifications of an entered spatial unit for resources of the given resource genus type.ResourcePositionReceiver.enteredSpatialUnit()is invoked when the specified resource appears in the specified spatial unit.- Parameters:
resourceGenusType- the genus type of theResourceto monitorspatialUnit- theSpatialUnitto monitor- Throws:
NullArgumentException-resourceGenusTypeorspatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-
registerForExitedSpatialUnit
void registerForExitedSpatialUnit(SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException Register for notifications of an exited spatial unit.ResourcePositionReceiver.exitedSpatialUnit()is invoked when a resource exits the specified spatial unit.- Parameters:
spatialUnit- theSpatialUnitto monitor- Throws:
NullArgumentException-spatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-
registerForExitedSpatialUnitForResource
void registerForExitedSpatialUnitForResource(Id resourceId, SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException Register for notifications of an exited spatial unit.ResourcePositionReceiver.exitedSpatialUnit()is invoked when the specified resource exits the specified spatial unit.- Parameters:
resourceId- theIdof theResourceto monitorspatialUnit- theSpatialUnitto monitor- Throws:
NullArgumentException-resourceIdorspatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-
registerForExitedSpatialUnitForResourcesByGenusType
void registerForExitedSpatialUnitForResourcesByGenusType(Type resourceGenusType, SpatialUnit spatialUnit) throws OperationFailedException, PermissionDeniedException Register for notifications of an exited spatial unit for the given resource genus type.ResourcePositionReceiver.exitedSpatialUnit()is invoked when a resource exits the specified spatial unit.- Parameters:
resourceGenusType- the genus type of theResourceto monitorspatialUnit- theSpatialUnitto monitor- Throws:
NullArgumentException-resourceGenusTYpeorspatialUnitisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failureUnsupportedException- spatial unit not supported- Compliance:
mandatory- This method must be implemented.
-