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

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

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

import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.apis.gtfs.generated.GraphQLTypes;
import org.opentripplanner.apis.gtfs.mapping.DirectionMapper;
import org.opentripplanner.apis.gtfs.mapping.StreetNoteMapper;
import org.opentripplanner.model.plan.ElevationProfile.Step;
import org.opentripplanner.model.plan.WalkStep;
import org.opentripplanner.routing.alertpatch.TransitAlert;

public class stepImpl implements GraphQLDataFetchers.GraphQLStep {

  @Override
  public DataFetcher absoluteDirection() {
    return environment ->
      getSource(environment).getAbsoluteDirection().map(DirectionMapper::map).orElse(null);
  }

  @Override
  public DataFetcher> alerts() {
    return environment ->
      getSource(environment)
        .getStreetNotes()
        .stream()
        .map(StreetNoteMapper::mapStreetNoteToAlert)
        .toList();
  }

  @Override
  public DataFetcher area() {
    return environment -> getSource(environment).getArea();
  }

  @Override
  public DataFetcher bogusName() {
    return environment -> getSource(environment).nameIsDerived();
  }

  @Override
  public DataFetcher distance() {
    return environment -> getSource(environment).getDistance();
  }

  @Override
  public DataFetcher> elevationProfile() {
    return environment -> getSource(environment).getElevationProfile().steps();
  }

  @Override
  public DataFetcher exit() {
    return environment -> getSource(environment).highwayExit().orElse(null);
  }

  @Override
  public DataFetcher feature() {
    return environment -> getSource(environment).entrance().orElse(null);
  }

  @Override
  public DataFetcher lat() {
    return environment -> getSource(environment).getStartLocation().latitude();
  }

  @Override
  public DataFetcher lon() {
    return environment -> getSource(environment).getStartLocation().longitude();
  }

  @Override
  public DataFetcher relativeDirection() {
    return environment -> DirectionMapper.map(getSource(environment).getRelativeDirection());
  }

  @Override
  public DataFetcher stayOn() {
    return environment -> getSource(environment).isStayOn();
  }

  @Override
  public DataFetcher streetName() {
    return environment ->
      getSource(environment).getDirectionText().toString(environment.getLocale());
  }

  @Override
  public DataFetcher walkingBike() {
    return environment -> getSource(environment).isWalkingBike();
  }

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