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

org.opentripplanner.apis.gtfs.datafetchers.ItineraryImpl Maven / Gradle / Ivy

The newest version!
package org.opentripplanner.apis.gtfs.datafetchers;

import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import java.time.OffsetDateTime;
import java.util.List;
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.apis.gtfs.mapping.NumberMapper;
import org.opentripplanner.model.SystemNotice;
import org.opentripplanner.model.plan.Emissions;
import org.opentripplanner.model.plan.Itinerary;
import org.opentripplanner.model.plan.Leg;

public class ItineraryImpl implements GraphQLDataFetchers.GraphQLItinerary {

  @Override
  public DataFetcher arrivedAtDestinationWithRentedBicycle() {
    return environment -> getSource(environment).isArrivedAtDestinationWithRentedVehicle();
  }

  @Override
  public DataFetcher duration() {
    return environment -> (long) getSource(environment).getDuration().toSeconds();
  }

  @Override
  public DataFetcher elevationGained() {
    return environment -> getSource(environment).getElevationGained();
  }

  @Override
  public DataFetcher elevationLost() {
    return environment -> getSource(environment).getElevationLost();
  }

  @Override
  public DataFetcher end() {
    return environment -> getSource(environment).endTime().toOffsetDateTime();
  }

  @Deprecated
  @Override
  public DataFetcher endTime() {
    return environment -> getSource(environment).endTime().toInstant().toEpochMilli();
  }

  @Override
  public DataFetcher> fares() {
    return environment -> List.of();
  }

  @Override
  public DataFetcher generalizedCost() {
    return environment -> getSource(environment).getGeneralizedCost();
  }

  @Override
  public DataFetcher> legs() {
    return environment -> getSource(environment).getLegs();
  }

  @Override
  public DataFetcher numberOfTransfers() {
    return environment -> getSource(environment).getNumberOfTransfers();
  }

  @Override
  public DataFetcher start() {
    return environment -> getSource(environment).startTime().toOffsetDateTime();
  }

  @Deprecated
  @Override
  public DataFetcher startTime() {
    return environment -> getSource(environment).startTime().toInstant().toEpochMilli();
  }

  @Override
  public DataFetcher> systemNotices() {
    return environment -> getSource(environment).getSystemNotices();
  }

  @Override
  public DataFetcher waitingTime() {
    return environment -> (long) getSource(environment).getWaitingDuration().toSeconds();
  }

  @Override
  public DataFetcher walkDistance() {
    return environment -> getSource(environment).walkDistanceMeters();
  }

  @Override
  public DataFetcher walkTime() {
    return environment -> (long) getSource(environment).walkDuration().toSeconds();
  }

  @Override
  public DataFetcher accessibilityScore() {
    return environment -> NumberMapper.toDouble(getSource(environment).getAccessibilityScore());
  }

  @Override
  public DataFetcher emissionsPerPerson() {
    return environment -> getSource(environment).getEmissionsPerPerson();
  }

  private Itinerary getSource(DataFetchingEnvironment environment) {
    return environment.getSource();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy