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

org.opentripplanner.model.fare.FareProductBuilder Maven / Gradle / Ivy

The newest version!
package org.opentripplanner.model.fare;

import java.time.Duration;
import org.opentripplanner.transit.model.basic.Money;
import org.opentripplanner.transit.model.framework.FeedScopedId;

/**
 * Builder for {@link FareProduct}.
 */
public class FareProductBuilder {

  private final FeedScopedId id;
  private final String name;
  private final Money price;
  private Duration validity;
  private RiderCategory category;
  private FareMedium medium;

  public FareProductBuilder(FeedScopedId id, String name, Money price) {
    this.id = id;
    this.name = name;
    this.price = price;
  }

  public FareProductBuilder withValidity(Duration validity) {
    this.validity = validity;
    return this;
  }

  public FareProductBuilder withCategory(RiderCategory category) {
    this.category = category;
    return this;
  }

  public FareProductBuilder withMedium(FareMedium medium) {
    this.medium = medium;
    return this;
  }

  public FareProduct build() {
    return new FareProduct(id, name, price, validity, category, medium);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy