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

org.opentripplanner.ext.legacygraphqlapi.datafetchers.LegacyGraphQLfareImpl Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
package org.opentripplanner.ext.legacygraphqlapi.datafetchers;

import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import org.opentripplanner.ext.legacygraphqlapi.generated.LegacyGraphQLDataFetchers;
import org.opentripplanner.routing.core.FareComponent;
import org.opentripplanner.routing.core.Money;

import java.util.Map;

public class LegacyGraphQLfareImpl implements LegacyGraphQLDataFetchers.LegacyGraphQLFare {

  @Override
  public DataFetcher type() {
    return environment -> (String) getSource(environment).get("name");
  }

  @Override
  public DataFetcher currency() {
    return environment -> ((Money) getSource(environment).get("fare")).getCurrency().getCurrencyCode();
  }

  @Override
  public DataFetcher cents() {
    return environment -> ((Money) getSource(environment).get("fare")).getCents();
  }

  @Override
  public DataFetcher> components() {
    return environment -> (Iterable) getSource(environment).get("details");
  }

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy