Interface IntersectionLookupSession

All Superinterfaces:
AutoCloseable, Closeable, OsidSession, OsidSession

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.

  • 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 intersection methods in this session operate, retrieve and pertain to intersections defined explicitly in the current map. Using an isolated view is useful for managing Intersections with the IntersectionAdminSession .
  • federated map view: All intersections methods in this session operate, retrieve and pertain to all intersections 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 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.
    • canLookupIntersections

      boolean canLookupIntersections()
      Tests if this user can perform 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.
      Returns:
      false if lookup methods are not authorized, true otherwise
      Compliance:
      mandatory - This method must be implemented.
    • useComparativeIntersectionView

      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. This view is used when greater interoperability is desired at the expense of precision.
      Compliance:
      mandatory - This method is must be implemented.
    • usePlenaryIntersectionView

      void usePlenaryIntersectionView()
      A complete view of the 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.
      Compliance:
      mandatory - This method is must be implemented.
    • useFederatedMapView

      void useFederatedMapView()
      Federates the view for methods in this session. A federated view will include intersections 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.
    • getIntersection

      Gets the 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.
      Parameters:
      intersectionId - Id of the Intersection
      Returns:
      the intersection
      Throws:
      NotFoundException - intersectionId not found
      NullArgumentException - intersectionId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method is must be implemented.
    • getIntersectionsByIds

      Gets an 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.
      Parameters:
      intersectionIds - the list of Ids to retrieve
      Returns:
      the returned Intersection list
      Throws:
      NotFoundException - an Id was not found
      NullArgumentException - intersectionIds is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectionsByGenusType

      IntersectionList getIntersectionsByGenusType(Type pathGenusType) throws OperationFailedException, PermissionDeniedException
      Gets an 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.
      Parameters:
      pathGenusType - a path genus type
      Returns:
      the returned Path list
      Throws:
      NullArgumentException - pathGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectionsByParentGenusType

      IntersectionList getIntersectionsByParentGenusType(Type intersectionGenusType) throws OperationFailedException, PermissionDeniedException
      Gets an 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.
      Parameters:
      intersectionGenusType - an intersection genus type
      Returns:
      the returned Intersection list
      Throws:
      NullArgumentException - intersectionGenusType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectionsByRecordType

      IntersectionList getIntersectionsByRecordType(Type intersectionRecordType) throws OperationFailedException, PermissionDeniedException
      Gets an 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.
      Parameters:
      intersectionRecordType - an intersection record type
      Returns:
      the returned Intersection list
      Throws:
      NullArgumentException - intersectionRecordType is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectionsForPath

      IntersectionList getIntersectionsForPath(Id pathId) throws OperationFailedException, PermissionDeniedException
      Gets an 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.
      Parameters:
      pathId - a path Id
      Returns:
      the returned Intersection list
      Throws:
      NullArgumentException - pathId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectionsForPathAtCoordinate

      IntersectionList getIntersectionsForPathAtCoordinate(Id pathId, Coordinate coordinate, Distance distance) throws OperationFailedException, PermissionDeniedException
      Gets an 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.
      Parameters:
      pathId - a path Id
      coordinate - a coordinate
      distance - a distance
      Returns:
      the returned Intersection list
      Throws:
      NullArgumentException - pathId, coordinate or distance is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersectionsForPaths

      IntersectionList getIntersectionsForPaths(Id pathId, Id crossingPathId) throws OperationFailedException, PermissionDeniedException
      Gets the 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.
      Parameters:
      pathId - a path Id
      crossingPathId - another path Id
      Returns:
      the returned Intersection list
      Throws:
      NullArgumentException - pathId or crossingPathId is null
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.
    • getIntersections

      Gets all 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.
      Returns:
      the returned Intersection list
      Throws:
      OperationFailedException - unable to complete request
      PermissionDeniedException - authorization failure
      Compliance:
      mandatory - This method must be implemented.