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:
parent
dd122b54e6
commit
3c9c8aa397
1 changed files with 24 additions and 2 deletions
|
|
@ -81,7 +81,6 @@ public class TourActivities {
|
||||||
}
|
}
|
||||||
|
|
||||||
public TourActivities() {
|
public TourActivities() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<TourActivity> getActivities() {
|
public List<TourActivity> getActivities() {
|
||||||
|
|
@ -89,7 +88,30 @@ public class TourActivities {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Iterator<TourActivity> iterator() {
|
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() {
|
public boolean isEmpty() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue