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

org.opentripplanner.transit.model.site.FareZone Maven / Gradle / Ivy

package org.opentripplanner.transit.model.site;

import java.util.Objects;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import org.opentripplanner.transit.model.framework.AbstractTransitEntity;
import org.opentripplanner.transit.model.framework.FeedScopedId;

/**
 * Equal to GTFS zone_id or NeTEx TariffZone.
 *
 * TODO This should at some point be connected to Agency or Operator. Currently is is up to the
 *      user to make this connection (based on TariffZone id).
 */
public class FareZone extends AbstractTransitEntity {

  private final String name;

  FareZone(FareZoneBuilder builder) {
    super(builder.getId());
    // Optional fields
    this.name = builder.name();
  }

  public static FareZoneBuilder of(FeedScopedId id) {
    return new FareZoneBuilder(id);
  }

  @Nullable
  public String getName() {
    return name;
  }

  @Override
  @Nonnull
  public FareZoneBuilder copy() {
    return new FareZoneBuilder(this);
  }

  @Override
  public boolean sameAs(@Nonnull FareZone other) {
    return getId().equals(other.getId()) && Objects.equals(name, other.name);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy