1
0
Fork 0
mirror of https://github.com/graphhopper/jsprit.git synced 2020-01-24 07:45:05 +01:00

enable removal of non-job activities via TourActivities.iterator()

This commit is contained in:
Michal Maciejewski 2019-05-13 12:48:43 +02:00
parent dd122b54e6
commit 3c9c8aa397
No known key found for this signature in database
GPG key ID: 015947E60A2AD77B

View file

@ -81,7 +81,6 @@ public class TourActivities {
}
public TourActivities() {
}
public List<TourActivity> getActivities() {
@ -89,7 +88,30 @@ public class TourActivities {
}
public Iterator<TourActivity> iterator() {
return tourActivities.iterator();
final Iterator<TourActivity> iterator = tourActivities.iterator();
return new Iterator<TourActivity>() {
private TourActivity lastReturned = null;
@Override
public boolean hasNext() {
return iterator.hasNext();
}
@Override
public TourActivity next() {
return lastReturned = iterator.next();
}
@Override
public void remove() {
if (lastReturned instanceof JobActivity) {
throw new IllegalStateException("Cannot remove JobActivities via iterator. "
+ "Use TourActivities.removeActivity(), or alternatively, consider TourActivities.removeJob()");
} else {
iterator.remove();
}
}
};
}
public boolean isEmpty() {