Interface RouteQuery

All Superinterfaces:
Extensible, OsidAggregateableQuery, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidQuery, OsidRelationshipQuery, OsidTemporalQuery, Suppliable

public interface RouteQuery extends OsidRelationshipQuery, OsidAggregateableQuery

This is the query for searching routes. Each method match specifies an AND term while multiple invocations of the same method produce a nested OR .

  • Method Details

    • matchStartingLocationId

      void matchStartingLocationId(Id locationId, boolean match)
      Sets the location Id for this query to match routes with a starting location.
      Parameters:
      locationId - the location Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - locationId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearStartingLocationIdTerms

      void clearStartingLocationIdTerms()
      Clears the starting location Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsStartingLocationQuery

      boolean supportsStartingLocationQuery()
      Tests if a LocationQuery is available for a starting location.
      Returns:
      true if a location query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getStartingLocationQuery

      LocationQuery getStartingLocationQuery()
      Gets the query for a starting location. Multiple retrievals produce a nested OR term.
      Returns:
      the location query
      Throws:
      UnimplementedException - supportsStartingLocationQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsStartingLocationQuery()} is {@code true} .
    • clearStartingLocationTerms

      void clearStartingLocationTerms()
      Clears the starting location query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchEndingLocationId

      void matchEndingLocationId(Id locationId, boolean match)
      Sets the location Id for this query to match routes with an ending location.
      Parameters:
      locationId - the location Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - locationId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearEndingLocationIdTerms

      void clearEndingLocationIdTerms()
      Clears the ending location Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsEndingLocationQuery

      boolean supportsEndingLocationQuery()
      Tests if a LocationQuery is available for an ending location.
      Returns:
      true if a location query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getEndingLocationQuery

      LocationQuery getEndingLocationQuery()
      Gets the query for an ending location. Multiple retrievals produce a nested OR term.
      Returns:
      the location query
      Throws:
      UnimplementedException - supportsEndingLocationQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsEndingLocationQuery()} is {@code true} .
    • clearEndingLocationTerms

      void clearEndingLocationTerms()
      Clears the ending location query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchAlongLocationIds

      void matchAlongLocationIds(Id[] locationIds, boolean match)
      Sets the location Id for this query to match routes along all the given locations.
      Parameters:
      locationIds - the location Ids
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - locationIds is null
      Compliance:
      mandatory - This method must be implemented.
    • clearAlongLocationIdsTerms

      void clearAlongLocationIdsTerms()
      Clears the along location Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchDistance

      void matchDistance(Distance from, Distance to, boolean match)
      Matches routes that have distances within the specified range inclusive.
      Parameters:
      from - starting range
      to - ending range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - to is less than from
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyDistance

      void matchAnyDistance(boolean match)
      Matches routes that has any distance assigned or calculated.
      Parameters:
      match - true to match routes with any distance, false to match routes with no distance
      Compliance:
      mandatory - This method must be implemented.
    • clearDistanceTerms

      void clearDistanceTerms()
      Clears the distance query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchETA

      void matchETA(Duration from, Duration to, boolean match)
      Matches routes that have the specified estimated travel time inclusive.
      Parameters:
      from - starting range
      to - ending range
      match - true for a positive match, false for a negative match
      Throws:
      InvalidArgumentException - to is less than from
      NullArgumentException - from or to is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnyETA

      void matchAnyETA(boolean match)
      Matches routes that has any estimated time assigned or calculated.
      Parameters:
      match - true to match routes with any eta, false to match routes with no eta
      Compliance:
      mandatory - This method must be implemented.
    • clearETATerms

      void clearETATerms()
      Clears the ETA query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchLocationId

      void matchLocationId(Id locationId, boolean match)
      Sets the location Id for this query to match routes through a location.
      Parameters:
      locationId - the location Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - locationId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearLocationIdTerms

      void clearLocationIdTerms()
      Clears the location Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsLocationQuery

      boolean supportsLocationQuery()
      Tests if a LocationQuery is available.
      Returns:
      true if a location query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getLocationQuery

      LocationQuery getLocationQuery()
      Gets the query for a location. Multiple retrievals produce a nested OR term.
      Returns:
      the location query
      Throws:
      UnimplementedException - supportsLocationQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsLocationQuery()} is {@code true} .
    • matchAnyLocation

      void matchAnyLocation(boolean match)
      Matches routes that has any location along the route, exclusive of the endpoints.
      Parameters:
      match - true to match routes with any location, false to match routes with no location
      Compliance:
      mandatory - This method must be implemented.
    • clearLocationTerms

      void clearLocationTerms()
      Clears the location query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchPathId

      void matchPathId(Id pathId, boolean match)
      Sets the path Id for this query to match routes using a designated path.
      Parameters:
      pathId - the path Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - pathId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearPathIdTerms

      void clearPathIdTerms()
      Clears the path Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsPathQuery

      boolean supportsPathQuery()
      Tests if a PathQuery is available.
      Returns:
      true if a path query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getPathQuery

      PathQuery getPathQuery()
      Gets the query for a path. Multiple retrievals produce a nested OR term.
      Returns:
      the path query
      Throws:
      UnimplementedException - supportsPathQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsPathQuery()} is {@code true} .
    • matchAnyPath

      void matchAnyPath(boolean match)
      Matches routes using any designated path.
      Parameters:
      match - true to match routes with any path false to match routes with no path
      Compliance:
      mandatory - This method must be implemented.
    • clearPathTerms

      void clearPathTerms()
      Clears the path query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchMapId

      void matchMapId(Id mapId, boolean match)
      Sets the map Id for this query to match routes assigned to maps.
      Parameters:
      mapId - the map Id
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - mapId is null
      Compliance:
      mandatory - This method must be implemented.
    • clearMapIdTerms

      void clearMapIdTerms()
      Clears the map Id query terms.
      Compliance:
      mandatory - This method must be implemented.
    • supportsMapQuery

      boolean supportsMapQuery()
      Tests if a MapQuery is available.
      Returns:
      true if a map query is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getMapQuery

      MapQuery getMapQuery()
      Gets the query for a map. Multiple retrievals produce a nested OR term.
      Returns:
      the map query
      Throws:
      UnimplementedException - supportsMapQuery() is false
      Compliance:
      optional - This method must be implemented if {@code supportsMapQuery()} is {@code true} .
    • clearMapTerms

      void clearMapTerms()
      Clears the map query terms.
      Compliance:
      mandatory - This method must be implemented.
    • getRouteQueryRecord

      RouteQueryRecord getRouteQueryRecord(Type routeRecordType) throws OperationFailedException
      Gets the route query record corresponding to the given Route record Type .Multiple record retrievals produce a nested OR term.
      Parameters:
      routeRecordType - a route record type
      Returns:
      the route query record
      Throws:
      NullArgumentException - routeRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(routeRecordType) is false
      Compliance:
      mandatory - This method must be implemented.