Interface VehicleSearchService

  • All Known Implementing Classes:
    VehicleSearchServiceImpl

    public interface VehicleSearchService
    Performs search operation on vehicle status records for the given parameters
    Author:
    abelsare
    • Method Detail

      • search

        List<VehicleStatus> search​(List<VehicleStatus> vehicleStatusRecords,
                                   Map<VehicleSearchParameters,​String> searchParameters)
        Performs search operation on given vehicle status records. Returns records that match the search criteria with the given search parameters. Returns empty list if none of the records match the criteria
        Parameters:
        vehicleStatusRecords - the records to be searched
        searchParameters - optional parameters
        Returns:
        records matching the paramters
      • searchVehiclesInEmergency

        List<VehicleStatus> searchVehiclesInEmergency​(List<VehicleStatus> vehicleStatusRecords)
        Searches vehicles reporting emergency from the given collection of the vehicles
        Parameters:
        vehicleStatusRecords - all vehicle records available at this point
        Returns:
        vehicles reporting emergency status
      • searchVehiclesInRevenueService

        List<VehicleStatus> searchVehiclesInRevenueService​(List<VehicleStatus> vehicleStatusRecords)
        Searches vehicles inferred in revenue service i.e buses whose inferred state is either IN PROGRESS or LAYOVER_*
        Parameters:
        vehicleStatusRecords - all vehicle records available at this point
        Returns:
        vehicles inferred in revenue service
      • searchVehiclesTracked

        List<VehicleStatus> searchVehiclesTracked​(int minutes,
                                                  List<VehicleStatus> vehicleStatusRecords)
        Searches vehicles tracked in given time. The time can be specified by the caller
        Parameters:
        minutes - time period for results should be returned
        Returns:
        vehicles tracked in given time
      • searchActiveRuns

        List<VehicleStatus> searchActiveRuns()
        Searches run/blocks scheduled to be active
        Returns:
        run/blocks scheduled to be active