mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
add vehicleRouteBuilder to easily build routes
This commit is contained in:
parent
2835d15dd3
commit
e6f2276eb0
1 changed files with 59 additions and 0 deletions
|
|
@ -0,0 +1,59 @@
|
||||||
|
package basics.route;
|
||||||
|
|
||||||
|
import basics.Shipment;
|
||||||
|
|
||||||
|
public class VehicleRouteBuilder {
|
||||||
|
|
||||||
|
private Vehicle vehicle;
|
||||||
|
|
||||||
|
private Driver driver;
|
||||||
|
|
||||||
|
private Start start;
|
||||||
|
|
||||||
|
private End end;
|
||||||
|
|
||||||
|
private TourActivities tourActivities = new TourActivities();
|
||||||
|
|
||||||
|
private TourActivityFactory serviceActivityFactory = new DefaultTourActivityFactory();
|
||||||
|
|
||||||
|
private TourShipmentActivityFactory shipmentActivityFactory = new DefaultShipmentActivityFactory();
|
||||||
|
|
||||||
|
public void setServiceActivityFactory(TourActivityFactory serviceActivityFactory) {
|
||||||
|
this.serviceActivityFactory = serviceActivityFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setShipmentActivityFactory(
|
||||||
|
TourShipmentActivityFactory shipmentActivityFactory) {
|
||||||
|
this.shipmentActivityFactory = shipmentActivityFactory;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VehicleRouteBuilder(Vehicle vehicle, Driver driver) {
|
||||||
|
super();
|
||||||
|
this.vehicle = vehicle;
|
||||||
|
this.driver = driver;
|
||||||
|
start = Start.newInstance(vehicle.getLocationId(), vehicle.getEarliestDeparture(), vehicle.getLatestArrival());
|
||||||
|
start.setEndTime(vehicle.getEarliestDeparture());
|
||||||
|
end = End.newInstance(vehicle.getLocationId(), vehicle.getEarliestDeparture(), vehicle.getLatestArrival());
|
||||||
|
}
|
||||||
|
|
||||||
|
public VehicleRouteBuilder setDepartureTime(double departureTime){
|
||||||
|
start.setEndTime(departureTime);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VehicleRouteBuilder addPickup(Shipment shipment){
|
||||||
|
tourActivities.addActivity(shipmentActivityFactory.createPickup(shipment));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VehicleRouteBuilder addDelivery(Shipment shipment){
|
||||||
|
tourActivities.addActivity(shipmentActivityFactory.createDelivery(shipment));
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VehicleRoute build(){
|
||||||
|
VehicleRoute route = VehicleRoute.newInstance(tourActivities, driver, vehicle);
|
||||||
|
return route;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue