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 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() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue