public interface IntersectionLookupSession extends OsidSession
This session provides methods for retrieving Intersections.
The Intersection
represents a crossing of two
Paths.
This session defines views that offer differing behaviors when retrieving multiple objects.
Intersections
with the IntersectionAdminSession.
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.
Modifier and Type | Method and Description |
---|---|
boolean |
canLookupIntersections()
Tests if this user can perform
Intersection lookups. |
Intersection |
getIntersection(Id intersectionId)
Gets the
Intersection specified by its Id. |
IntersectionList |
getIntersections()
Gets all
Intersection. |
IntersectionList |
getIntersectionsByGenusType(Type pathGenusType)
Gets an
IntersectionList corresponding to the given
intersection genus Type which does not include
intersections of genus types derived from the specified Type. |
IntersectionList |
getIntersectionsByIds(IdList intersectionIds)
Gets an
IntersectionList corresponding to the given
IdList. |
IntersectionList |
getIntersectionsByParentGenusType(Type intersectionGenusType)
Gets an
IntersectionList corresponding to the given
intersection genus Type and include any additional
intersections with genus types derived from the specified Type. |
IntersectionList |
getIntersectionsByRecordType(Type intersectionRecordType)
Gets an
IntersectionList containing the given
intersection record Type. |
IntersectionList |
getIntersectionsForPath(Id pathId)
Gets an
IntersectionList connected to the given
Path. |
IntersectionList |
getIntersectionsForPathAtCoordinate(Id pathId,
Coordinate coordinate,
Distance distance)
Gets an
IntersectionList connected to the given
Path within a distance of a given coordinate. |
IntersectionList |
getIntersectionsForPaths(Id pathId,
Id crossingPathId)
Gets the
Intersections of both given paths. |
Map |
getMap()
Gets the
Map associated with this session. |
Id |
getMapId()
Gets the
Map Id associated with this
session. |
void |
useComparativeIntersectionView()
The returns from the lookup methods may omit or translate elements
based on this session, such as authorization, and not result in an
error.
|
void |
useFederatedMapView()
Federates the view for methods in this session.
|
void |
useIsolatedMapView()
Isolates the view for methods in this session.
|
void |
usePlenaryIntersectionView()
A complete view of the
Intersection returns is desired. |
getAuthenticatedAgent, getAuthenticatedAgentId, getClockRate, getDate, getEffectiveAgent, getEffectiveAgentId, getFormatType, getLocale, isAuthenticated, startTransaction, supportsTransactions
close
Id getMapId()
Map
Id
associated with this
session. Map Id
associated with this sessionmandatory
- This method must be implemented. Map getMap() throws OperationFailedException, PermissionDeniedException
Map
associated with this session.OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. boolean canLookupIntersections()
Intersection
lookups. 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 lookup operations to
unauthorized users. false
if lookup methods are not authorized,
true
otherwisemandatory
- This method must be implemented. void useComparativeIntersectionView()
mandatory
- This method is must be implemented. void usePlenaryIntersectionView()
Intersection
returns 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.mandatory
- This method is must be implemented. void useFederatedMapView()
mandatory
- This method is must be implemented. void useIsolatedMapView()
mandatory
- This method is must be implemented. Intersection getIntersection(Id intersectionId) throws NotFoundException, OperationFailedException, PermissionDeniedException
Intersection
specified by its Id.
In plenary mode, the exact Id
is found or a
NOT_FOUND
results. Otherwise, the returned
Intersection
may have a different Id
than
requested.intersectionId
- Id
of the Intersection
NotFoundException
- intersectionId
not
foundNullArgumentException
- intersectionId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method is must be implemented. IntersectionList getIntersectionsByIds(IdList intersectionIds) throws NotFoundException, OperationFailedException, PermissionDeniedException
IntersectionList
corresponding to the given
IdList.
In plenary mode, the returned list contains all
of the intersections specified in the Id
list, in the
order of the list, including duplicates, or an error results if an
Id
in the supplied list is not found or inaccessible.
Otherwise, inaccessible Intersections
may be omitted
from the list and may present the elements in any order including
returning a unique set.intersectionIds
- the list of Ids
to retrieve Intersection
listNotFoundException
- an Id was
not foundNullArgumentException
- intersectionIds
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersectionsByGenusType(Type pathGenusType) throws OperationFailedException, PermissionDeniedException
IntersectionList
corresponding to the given
intersection genus Type
which does not include
intersections of genus types derived from the specified Type.
In plenary mode, the returned list contains all known
intersections or an error results. Otherwise, the returned list may
contain only those intersections that are accessible through this
session.pathGenusType
- a path genus type Path
listNullArgumentException
- pathGenusType
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersectionsByParentGenusType(Type intersectionGenusType) throws OperationFailedException, PermissionDeniedException
IntersectionList
corresponding to the given
intersection genus Type
and include any additional
intersections with genus types derived from the specified Type.
In plenary mode, the returned list contains all known
intersections or an error results. Otherwise, the returned list may
contain only those intersections that are accessible through this
session.intersectionGenusType
- an intersection genus type Intersection
listNullArgumentException
- intersectionGenusType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersectionsByRecordType(Type intersectionRecordType) throws OperationFailedException, PermissionDeniedException
IntersectionList
containing the given
intersection record Type.
In plenary mode, the returned
list contains all known intersections or an error results. Otherwise,
the returned list may contain only those intersections that are
accessible through this session.intersectionRecordType
- an intersection record type Intersection
listNullArgumentException
- intersectionRecordType
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersectionsForPath(Id pathId) throws OperationFailedException, PermissionDeniedException
IntersectionList
connected to the given
Path.
In plenary mode, the returned list contains all of the
intersections, or an error results if an intersection along the path
is not found or inaccessible. Otherwise, inaccessible
Intersections
may be omitted from the list.pathId
- a path Id
Intersection
listNullArgumentException
- pathId
is
null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersectionsForPathAtCoordinate(Id pathId, Coordinate coordinate, Distance distance) throws OperationFailedException, PermissionDeniedException
IntersectionList
connected to the given
Path
within a distance of a given coordinate. In plenary mode,
the returned list contains all of the paths, or an error results if a
path connected to the location is not found or inaccessible.
Otherwise, inaccessible Paths
may be omitted from the
list.pathId
- a path Id
coordinate
- a coordinatedistance
- a distance Intersection
listNullArgumentException
- pathId, coordinate
or distance
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersectionsForPaths(Id pathId, Id crossingPathId) throws OperationFailedException, PermissionDeniedException
Intersections
of both given paths. In plenary
mode, the returned list contains all of the intersections, or an error
results if an intersection along the path is not found or
inaccessible. Otherwise, inaccessible Intersections
may
be omitted from the list.pathId
- a path Id
crossingPathId
- another path Id
Intersection
listNullArgumentException
- pathId
or
crossingPathId
is null
OperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented. IntersectionList getIntersections() throws OperationFailedException, PermissionDeniedException
Intersection.
In plenary mode, the returned
list contains all of the intersections. or an error results if an
intersection is not found or inaccessible. Otherwise, inaccessible
Intersections
may be omitted from the list. Intersection
listOperationFailedException
- unable to complete requestPermissionDeniedException
- authorization failuremandatory
- This method must be implemented.