21 package org.matsim.core.scoring.functions;
23 import java.util.Iterator;
55 boolean foundAct =
false;
58 Iterator<String> facilityActTypeIterator = facility.
getActivityOptions().keySet().iterator();
59 String facilityActType = null;
60 Set<OpeningTime> opentimes = null;
62 while (facilityActTypeIterator.hasNext() && !foundAct) {
64 facilityActType = facilityActTypeIterator.next();
65 if (act.
getType().equals(facilityActType)) {
69 if (opentimes != null && !opentimes.isEmpty()) {
73 double opening = Double.MAX_VALUE;
74 double closing = Double.MIN_VALUE;
77 opening = Math.min(opening, opentime.getStartTime());
78 closing = Math.max(closing, opentime.getEndTime());
90 throw new RuntimeException(
"No suitable facility activity type found. Aborting...");
Map< Id< ActivityFacility >, ? extends ActivityFacility > getFacilities()
OptionalTime [] getOpeningInterval(Activity act)
final ActivityFacilities facilities
FacilityOpeningIntervalCalculator(final ActivityFacilities facilities)
static OptionalTime defined(double seconds)
Id< ActivityFacility > getFacilityId()
Map< String, ActivityOption > getActivityOptions()
static OptionalTime undefined()