
org.opentripplanner.gtfs.graphbuilder.GtfsFeedParametersBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of otp Show documentation
Show all versions of otp Show documentation
The OpenTripPlanner multimodal journey planning system
The newest version!
package org.opentripplanner.gtfs.graphbuilder;
import java.net.URI;
import org.opentripplanner.transit.model.site.StopTransferPriority;
/**
* Configure a GTFS feed.
*/
public class GtfsFeedParametersBuilder {
private URI source;
private String feedId;
private boolean removeRepeatedStops;
private StopTransferPriority stationTransferPreference;
private boolean discardMinTransferTimes;
private boolean blockBasedInterlining;
private int maxInterlineDistance;
public GtfsFeedParametersBuilder() {
this.removeRepeatedStops = GtfsFeedParameters.DEFAULT_REMOVE_REPEATED_STOPS;
this.stationTransferPreference = StopTransferPriority.defaultValue();
this.discardMinTransferTimes = GtfsFeedParameters.DEFAULT_DISCARD_MIN_TRANSFER_TIMES;
this.blockBasedInterlining = GtfsFeedParameters.DEFAULT_BLOCK_BASED_INTERLINING;
this.maxInterlineDistance = GtfsFeedParameters.DEFAULT_MAX_INTERLINE_DISTANCE;
}
public GtfsFeedParametersBuilder(GtfsFeedParameters original) {
this.removeRepeatedStops = original.removeRepeatedStops();
this.stationTransferPreference = original.stationTransferPreference();
this.discardMinTransferTimes = original.discardMinTransferTimes();
this.blockBasedInterlining = original.blockBasedInterlining();
this.maxInterlineDistance = original.maxInterlineDistance();
}
public GtfsFeedParametersBuilder withFeedId(String feedId) {
this.feedId = feedId;
return this;
}
String feedId() {
return feedId;
}
public GtfsFeedParametersBuilder withStationTransferPreference(
StopTransferPriority stationTransferPreference
) {
this.stationTransferPreference = stationTransferPreference;
return this;
}
StopTransferPriority stationTransferPreference() {
return stationTransferPreference;
}
public GtfsFeedParametersBuilder withSource(URI source) {
this.source = source;
return this;
}
URI source() {
return source;
}
public GtfsFeedParametersBuilder withRemoveRepeatedStops(boolean value) {
this.removeRepeatedStops = value;
return this;
}
boolean removeRepeatedStops() {
return removeRepeatedStops;
}
public GtfsFeedParametersBuilder withDiscardMinTransferTimes(boolean value) {
this.discardMinTransferTimes = value;
return this;
}
boolean discardMinTransferTimes() {
return discardMinTransferTimes;
}
public GtfsFeedParametersBuilder withBlockBasedInterlining(boolean value) {
this.blockBasedInterlining = value;
return this;
}
boolean blockBasedInterlining() {
return blockBasedInterlining;
}
public GtfsFeedParametersBuilder withMaxInterlineDistance(int value) {
this.maxInterlineDistance = value;
return this;
}
int maxInterlineDistance() {
return maxInterlineDistance;
}
public GtfsFeedParameters build() {
return new GtfsFeedParameters(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy