package org.opentripplanner.analyst.scenario;
import org.onebusaway.gtfs.model.Trip;
import org.opentripplanner.routing.edgetype.TripPattern;
import org.opentripplanner.routing.trippattern.FrequencyEntry;
import org.opentripplanner.routing.trippattern.TripTimes;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Adjust headways on a route.
*/
public class AdjustHeadway extends TripFilter {
public static final long serialVersionUID = 1L;
/** The new headway, in seconds */
public int headway;
private static final Logger LOG = LoggerFactory.getLogger(AdjustHeadway.class);
@Override
public TripTimes apply(Trip trip, TripPattern tp, TripTimes tt) {
if (matches(trip))
LOG.warn("Not performing requested headway adjustment on timetabled trip {}", trip);
return tt;
}
@Override
public FrequencyEntry apply(Trip trip, TripPattern tp, FrequencyEntry fe) {
if (matches(trip)) {
return new FrequencyEntry(fe.startTime, fe.endTime, headway, fe.exactTimes, fe.tripTimes);
}
else {
return fe;
}
}
@Override
public String getType() {
return "adjust-headway";
}
}