All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentripplanner.transit.api.request.TripOnServiceDateRequestBuilder Maven / Gradle / Ivy

The newest version!
package org.opentripplanner.transit.api.request;

import java.time.LocalDate;
import java.util.List;
import org.opentripplanner.transit.api.model.FilterValues;
import org.opentripplanner.transit.api.model.RequiredFilterValues;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.transit.model.timetable.TripAlteration;

public class TripOnServiceDateRequestBuilder {

  private FilterValues agencies = FilterValues.ofEmptyIsEverything(
    "agencies",
    List.of()
  );
  private FilterValues routes = FilterValues.ofEmptyIsEverything("routes", List.of());
  private FilterValues serviceJourneys = FilterValues.ofEmptyIsEverything(
    "serviceJourneys",
    List.of()
  );
  private FilterValues replacementFor = FilterValues.ofEmptyIsEverything(
    "replacementFor",
    List.of()
  );
  private FilterValues netexInternalPlanningCodes = FilterValues.ofEmptyIsEverything(
    "netexInternalPlanningCodes",
    List.of()
  );
  private FilterValues alterations = FilterValues.ofEmptyIsEverything(
    "alterations",
    List.of()
  );
  private final RequiredFilterValues serviceDates;

  TripOnServiceDateRequestBuilder(RequiredFilterValues serviceDates) {
    this.serviceDates = serviceDates;
  }

  public TripOnServiceDateRequestBuilder withAgencies(FilterValues agencies) {
    this.agencies = agencies;
    return this;
  }

  public TripOnServiceDateRequestBuilder withRoutes(FilterValues routes) {
    this.routes = routes;
    return this;
  }

  public TripOnServiceDateRequestBuilder withServiceJourneys(
    FilterValues serviceJourneys
  ) {
    this.serviceJourneys = serviceJourneys;
    return this;
  }

  public TripOnServiceDateRequestBuilder withReplacementFor(
    FilterValues replacementFor
  ) {
    this.replacementFor = replacementFor;
    return this;
  }

  public TripOnServiceDateRequestBuilder withNetexInternalPlanningCodes(
    FilterValues netexInternalPlanningCodes
  ) {
    this.netexInternalPlanningCodes = netexInternalPlanningCodes;
    return this;
  }

  public TripOnServiceDateRequestBuilder withAlterations(FilterValues alterations) {
    this.alterations = alterations;
    return this;
  }

  public TripOnServiceDateRequest build() {
    return new TripOnServiceDateRequest(
      serviceDates,
      agencies,
      routes,
      serviceJourneys,
      replacementFor,
      netexInternalPlanningCodes,
      alterations
    );
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy