Interface SpeedZoneQuery

All Superinterfaces:
Extensible, OsidBrowsableQuery, OsidExtensibleQuery, OsidIdentifiableQuery, OsidObjectQuery, OsidOperableQuery, OsidQuery, OsidRuleQuery, Suppliable

public interface SpeedZoneQuery extends OsidRuleQuery

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

  • Method Details

    • matchPathId

      void matchPathId(Id pathId, boolean match)
      Sets the path Id for this query to match speed zones along the given 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} .
    • clearPathTerms

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

      void matchCoordinate(Coordinate coordinate, boolean match)
      Matches speed zones overlapping with the specified Coordinate .
      Parameters:
      coordinate - a coordinate
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - coordinate is null
      Compliance:
      mandatory - This method must be implemented.
    • clearCoordinateTerms

      void clearCoordinateTerms()
      Clears the coordinate query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchContainingSpatialUnit

      void matchContainingSpatialUnit(SpatialUnit spatialUnit, boolean match)
      Matches speed zones within the specified SpatialUnit .
      Parameters:
      spatialUnit - a spatial unit
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - spatialUnit is null
      Compliance:
      mandatory - This method must be implemented.
    • clearContainingSpatialUnitTerms

      void clearContainingSpatialUnitTerms()
      Clears the spatial unit terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchImplicit

      void matchImplicit(boolean match)
      Matches implicitly defined speed zones.
      Parameters:
      match - true to match implicit speed zones with any boundary, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • clearImplicitTerms

      void clearImplicitTerms()
      Clears the implicit query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchSpeedLimit

      void matchSpeedLimit(Speed from, Speed to, boolean match)
      Matches speed zones with speed limite within the given range inclusive.
      Parameters:
      from - starting speed range
      to - ending speed range
      match - true for a positive match, false for a negative match
      Throws:
      NullArgumentException - from or to is null
      Compliance:
      mandatory - This method must be implemented.
    • matchAnySpeedLimit

      void matchAnySpeedLimit(boolean match)
      Matches speed zones with any speed limit set.
      Parameters:
      match - true to match implicit speed zones with any speed limit, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • clearSpeedLimitTerms

      void clearSpeedLimitTerms()
      Clears the speed limit query terms.
      Compliance:
      mandatory - This method must be implemented.
    • matchMapId

      void matchMapId(Id mapId, boolean match)
      Sets the map Id for this query.
      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.
    • getSpeedZoneQueryRecord

      SpeedZoneQueryRecord getSpeedZoneQueryRecord(Type speedZoneRecordType) throws OperationFailedException
      Gets the speed zone query record corresponding to the given SpeedZone record Type . Multiple record retrievals produce a nested OR term.
      Parameters:
      speedZoneRecordType - a speed zone record type
      Returns:
      the speed zone query record
      Throws:
      NullArgumentException - speedZoneRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(speedZoneRecordType) is false
      Compliance:
      mandatory - This method must be implemented.