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

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

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

import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import java.time.Duration;
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.transit.model.organization.ContactInfo;
import org.opentripplanner.transit.model.timetable.booking.BookingInfo;
import org.opentripplanner.transit.model.timetable.booking.BookingTime;

public class BookingInfoImpl implements GraphQLDataFetchers.GraphQLBookingInfo {

  @Override
  public DataFetcher contactInfo() {
    return environment -> getSource(environment).getContactInfo();
  }

  @Override
  public DataFetcher dropOffMessage() {
    return environment -> getSource(environment).getDropOffMessage();
  }

  @Override
  public DataFetcher earliestBookingTime() {
    return environment -> getSource(environment).getEarliestBookingTime();
  }

  @Override
  public DataFetcher latestBookingTime() {
    return environment -> getSource(environment).getLatestBookingTime();
  }

  @Override
  public DataFetcher maximumBookingNotice() {
    return env -> getSource(env).getMaximumBookingNotice().orElse(null);
  }

  @Override
  public DataFetcher maximumBookingNoticeSeconds() {
    return environment ->
      getSource(environment).getMaximumBookingNotice().map(Duration::toSeconds).orElse(null);
  }

  @Override
  public DataFetcher message() {
    return environment -> getSource(environment).getMessage();
  }

  @Override
  public DataFetcher minimumBookingNotice() {
    return env -> getSource(env).getMinimumBookingNotice().orElse(null);
  }

  @Override
  public DataFetcher minimumBookingNoticeSeconds() {
    return environment ->
      getSource(environment).getMinimumBookingNotice().map(Duration::toSeconds).orElse(null);
  }

  @Override
  public DataFetcher pickupMessage() {
    return environment -> getSource(environment).getPickupMessage();
  }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy