diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Service.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Service.java
index ab54929e..4f8a1e96 100644
--- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Service.java
+++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Service.java
@@ -17,8 +17,6 @@
*/
package com.graphhopper.jsprit.core.problem.job;
-import java.util.Collection;
-
import com.graphhopper.jsprit.core.problem.AbstractJob;
import com.graphhopper.jsprit.core.problem.Capacity;
import com.graphhopper.jsprit.core.problem.Location;
@@ -28,6 +26,8 @@ import com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindows;
import com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindowsImpl;
import com.graphhopper.jsprit.core.util.Coordinate;
+import java.util.Collection;
+
/**
* Service implementation of a job.
*
@@ -194,6 +194,11 @@ public class Service extends AbstractJob {
return addTimeWindow(TimeWindow.newInstance(earliest, latest));
}
+ public Builder addAllTimeWindows(Collection timeWindows) {
+ for (TimeWindow tw : timeWindows) addTimeWindow(tw);
+ return this;
+ }
+
/**
* Builds the service.
*
diff --git a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Shipment.java b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Shipment.java
index 22c551cd..6b1a75cd 100644
--- a/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Shipment.java
+++ b/jsprit-core/src/main/java/com/graphhopper/jsprit/core/problem/job/Shipment.java
@@ -17,8 +17,6 @@
*/
package com.graphhopper.jsprit.core.problem.job;
-import java.util.Collection;
-
import com.graphhopper.jsprit.core.problem.AbstractJob;
import com.graphhopper.jsprit.core.problem.Capacity;
import com.graphhopper.jsprit.core.problem.Location;
@@ -26,6 +24,8 @@ import com.graphhopper.jsprit.core.problem.Skills;
import com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindow;
import com.graphhopper.jsprit.core.problem.solution.route.activity.TimeWindowsImpl;
+import java.util.Collection;
+
/**
* Shipment is an implementation of Job and consists of a pickup and a delivery of something.
@@ -277,6 +277,11 @@ public class Shipment extends AbstractJob {
return this;
}
+ public Builder addAllDeliveryTimeWindows(Collection timeWindow) {
+ for (TimeWindow tw : timeWindow) addDeliveryTimeWindow(tw);
+ return this;
+ }
+
public Builder addPickupTimeWindow(TimeWindow timeWindow) {
if(timeWindow == null) throw new IllegalArgumentException("time-window arg must not be null");
if(!pickupTimeWindowAdded){
@@ -291,6 +296,11 @@ public class Shipment extends AbstractJob {
return addPickupTimeWindow(TimeWindow.newInstance(earliest, latest));
}
+ public Builder addAllPickupTimeWindows(Collection timeWindow) {
+ for (TimeWindow tw : timeWindow) addPickupTimeWindow(tw);
+ return this;
+ }
+
/**
* Set priority to shipment. Only 1 (high) to 10 (low) are allowed.
*