Interface PathTravelSession
- All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession
This session provides methods for examining Path travel.
This session defines views that offer differing behaviors when retrieving multiple objects.
- comparative view: elements may be silently omitted or re-ordered
- plenary view: provides a complete set or is an error condition
- isolated map view: All path methods in this session operate, retrieve and pertain to paths defined explicitly in the current map.
- federated map view: All path methods in this session operate, retrieve and pertain to all paths defined in this map and any other paths implicitly available in this map through map inheritence.
Generally, the comparative view should be used for most applications
as it permits operation even if there is data that cannot be accessed. The
methods useFederatedMapView() and useIsolatedMapView()
behave as a radio group and one should be selected before invoking any
lookup methods.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanTests if this user can performPathlookups.getAverageSpeed(Id pathId, Coordinate coordinate, Distance distance) Gets the expected average speed for a traveler along a path between the given coordinates.getMap()Gets theMapassociated with this session.getMapId()Gets theMapIdassociated with this session.getObstacles(Id pathId, Coordinate coordinate, Distance distance) Gets anObstacleListcorresponding to the givenPathand coordinate range.getSpeedZones(Id pathId, Coordinate coordinate, Distance distance) Gets aSpeedZoneListcorresponding to the givenPathand coordinate range.getSpeedZonesAtResolution(Id pathId, Coordinate coordinate, Distance distance, Distance resolution) Gets aSpeedZoneListcorresponding to the givenPathand coordinate range for a given resolution.voidThe returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error.voidFederates the view for methods in this session.voidIsolates the view for methods in this session.voidA complete view of thePathreturns is desired.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.
-
canLookupPathTravel
boolean canLookupPathTravel()Tests if this user can performPathlookups. 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 lookup operations to unauthorized users.- Returns:
falseif lookup methods are not authorized,trueotherwise- Compliance:
mandatory- This method must be implemented.
-
useComparativePathView
void useComparativePathView()The returns from the lookup methods may omit or translate elements based on this session, such as authorization, and not result in an error. This view is used when greater interoperability is desired at the expense of precision.- Compliance:
mandatory- This method is must be implemented.
-
usePlenaryPathView
void usePlenaryPathView()A complete view of thePathreturns is desired. Methods will return what is requested or result in an error. This view is used when greater precision is desired at the expense of interoperability.- Compliance:
mandatory- This method is must be implemented.
-
useFederatedMapView
void useFederatedMapView()Federates the view for methods in this session. A federated view will include paths 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 lookups to this map only.- Compliance:
mandatory- This method is must be implemented.
-
getObstacles
ObstacleList getObstacles(Id pathId, Coordinate coordinate, Distance distance) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets anObstacleListcorresponding to the givenPathand coordinate range. In plenary mode, the returned list contains all of the obstacles as defined. Otherwise, inaccessibleObstaclesmay be omitted from the list or overlapping obstacles may be reordered.- Parameters:
pathId-Idof thePathcoordinate- starting coordinatedistance- a distance from coordinate- Returns:
- the obstacle list
- Throws:
InvalidArgumentException- coordinate not on pathNotFoundException-pathIdnot foundNullArgumentException-pathId, coordinateordistanceisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getAverageSpeed
Speed getAverageSpeed(Id pathId, Coordinate coordinate, Distance distance) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets the expected average speed for a traveler along a path between the given coordinates. If the path is blocked by an obstacle, then the speed is zero. Some obstacles may have the effect of lowering the expected speed.- Parameters:
pathId-Idof thePathcoordinate- starting coordinatedistance- a distance from coordinate- Returns:
- the speed
- Throws:
InvalidArgumentException- coordinate not on pathNotFoundException-pathIdnot foundNullArgumentException-pathId, coordinateordistanceisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getSpeedZones
SpeedZoneList getSpeedZones(Id pathId, Coordinate coordinate, Distance distance) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aSpeedZoneListcorresponding to the givenPathand coordinate range. In plenary mode, the returned list contains all of the speed zones as defined. Otherwise, inaccessibleSpeedZonesmay be omitted from the list or overlapping speed zones may be reordered.- Parameters:
pathId-Idof thePathcoordinate- starting coordinatedistance- a distance from coordinate- Returns:
- the list of speed zones
- Throws:
InvalidArgumentException- coordinate not on pathNotFoundException-pathIdnot foundNullArgumentException-pathId, coordinate or distance is nullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-
getSpeedZonesAtResolution
SpeedZoneList getSpeedZonesAtResolution(Id pathId, Coordinate coordinate, Distance distance, Distance resolution) throws NotFoundException, OperationFailedException, PermissionDeniedException Gets aSpeedZoneListcorresponding to the givenPathand coordinate range for a given resolution.- Parameters:
pathId-Idof thePathcoordinate- starting coordinatedistance- a distance from coordinateresolution- the resolution- Returns:
- the list of speed zones
- Throws:
InvalidArgumentException- coordinate not on pathNotFoundException-pathIdnot foundNullArgumentException-pathId, coordinate, distanceorresolutionisnullOperationFailedException- unable to complete requestPermissionDeniedException- authorization failure- Compliance:
mandatory- This method is must be implemented.
-