
org.opentripplanner.updater.vehicle_parking.VehicleParkingDataSourceFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of otp Show documentation
Show all versions of otp Show documentation
The OpenTripPlanner multimodal journey planning system
The newest version!
package org.opentripplanner.updater.vehicle_parking;
import org.opentripplanner.ext.vehicleparking.bikeep.BikeepUpdater;
import org.opentripplanner.ext.vehicleparking.bikeep.BikeepUpdaterParameters;
import org.opentripplanner.ext.vehicleparking.bikely.BikelyUpdater;
import org.opentripplanner.ext.vehicleparking.bikely.BikelyUpdaterParameters;
import org.opentripplanner.ext.vehicleparking.hslpark.HslParkUpdater;
import org.opentripplanner.ext.vehicleparking.hslpark.HslParkUpdaterParameters;
import org.opentripplanner.ext.vehicleparking.noi.NoiUpdater;
import org.opentripplanner.ext.vehicleparking.noi.NoiUpdaterParameters;
import org.opentripplanner.ext.vehicleparking.parkapi.BicycleParkAPIUpdater;
import org.opentripplanner.ext.vehicleparking.parkapi.CarParkAPIUpdater;
import org.opentripplanner.ext.vehicleparking.parkapi.ParkAPIUpdaterParameters;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
import org.opentripplanner.routing.vehicle_parking.VehicleParking;
import org.opentripplanner.updater.spi.DataSource;
/**
* Class that can be used to return a custom vehicle parking {@link DataSource}.
*/
public class VehicleParkingDataSourceFactory {
private VehicleParkingDataSourceFactory() {}
public static DataSource create(
VehicleParkingUpdaterParameters parameters,
OpeningHoursCalendarService openingHoursCalendarService
) {
return switch (parameters.sourceType()) {
case HSL_PARK -> new HslParkUpdater(
(HslParkUpdaterParameters) parameters,
openingHoursCalendarService
);
case PARK_API -> new CarParkAPIUpdater(
(ParkAPIUpdaterParameters) parameters,
openingHoursCalendarService
);
case BICYCLE_PARK_API -> new BicycleParkAPIUpdater(
(ParkAPIUpdaterParameters) parameters,
openingHoursCalendarService
);
case BIKELY -> new BikelyUpdater((BikelyUpdaterParameters) parameters);
case NOI_OPEN_DATA_HUB -> new NoiUpdater((NoiUpdaterParameters) parameters);
case BIKEEP -> new BikeepUpdater((BikeepUpdaterParameters) parameters);
case SIRI_FM -> throw new IllegalArgumentException("Cannot instantiate SIRI-FM data source");
};
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy