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

org.opentripplanner.ext.emissions.DefaultEmissionsService Maven / Gradle / Ivy

The newest version!
package org.opentripplanner.ext.emissions;

import jakarta.inject.Inject;
import java.util.Optional;
import org.opentripplanner.framework.model.Grams;
import org.opentripplanner.model.plan.Emissions;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.utils.lang.Sandbox;

@Sandbox
public class DefaultEmissionsService implements EmissionsService {

  private final EmissionsDataModel emissionsDataModel;

  @Inject
  public DefaultEmissionsService(EmissionsDataModel emissionsDataModel) {
    this.emissionsDataModel = emissionsDataModel;
  }

  @Override
  public Optional getEmissionsPerMeterForRoute(FeedScopedId feedScopedRouteId) {
    Optional co2Emissions = this.emissionsDataModel.getCO2EmissionsById(feedScopedRouteId);
    return co2Emissions.isPresent()
      ? Optional.of(new Emissions(new Grams(co2Emissions.get())))
      : Optional.empty();
  }

  @Override
  public Optional getEmissionsPerMeterForCar() {
    Optional co2Emissions = this.emissionsDataModel.getCarAvgCo2PerMeter();
    return co2Emissions.isPresent()
      ? Optional.of(new Emissions(new Grams(co2Emissions.get())))
      : Optional.empty();
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy