
org.opentripplanner.ext.legacygraphqlapi.datafetchers.LegacyGraphQLBikeRentalStationImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of otp Show documentation
Show all versions of otp Show documentation
The OpenTripPlanner multimodal journey planning system
package org.opentripplanner.ext.legacygraphqlapi.datafetchers;
import graphql.relay.Relay;
import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
import java.util.List;
import org.opentripplanner.ext.legacygraphqlapi.generated.LegacyGraphQLDataFetchers;
import org.opentripplanner.routing.vehicle_rental.VehicleRentalPlace;
import org.opentripplanner.routing.vehicle_rental.VehicleRentalStationUris;
public class LegacyGraphQLBikeRentalStationImpl
implements LegacyGraphQLDataFetchers.LegacyGraphQLBikeRentalStation {
final String STATE_ON = "Station on";
final String STATE_OFF = "Station off";
@Override
public DataFetcher allowDropoff() {
return environment -> getSource(environment).isAllowDropoff();
}
@Override
public DataFetcher allowDropoffNow() {
return environment -> getSource(environment).allowDropoffNow();
}
@Override
public DataFetcher allowOverloading() {
return environment -> getSource(environment).isAllowOverloading();
}
@Override
public DataFetcher allowPickup() {
return environment -> getSource(environment).isAllowPickup();
}
@Override
public DataFetcher allowPickupNow() {
return environment -> getSource(environment).allowPickupNow();
}
@Override
public DataFetcher bikesAvailable() {
return environment -> getSource(environment).getVehiclesAvailable();
}
@Override
public DataFetcher capacity() {
return environment -> getSource(environment).getCapacity();
}
@Override
public DataFetcher id() {
return environment ->
new Relay.ResolvedGlobalId("BikeRentalStation", getSource(environment).getId().toString());
}
@Override
public DataFetcher lat() {
return environment -> getSource(environment).getLatitude();
}
@Override
public DataFetcher lon() {
return environment -> getSource(environment).getLongitude();
}
@Override
public DataFetcher name() {
return environment -> getSource(environment).getName().toString(environment.getLocale());
}
@Override
public DataFetcher> networks() {
return environment -> List.of(getSource(environment).getNetwork());
}
@Override
public DataFetcher operative() {
return environment ->
getSource(environment).isAllowPickup() && getSource(environment).isAllowDropoff();
}
@Override
public DataFetcher realtime() {
return environment -> getSource(environment).isRealTimeData();
}
@Override
public DataFetcher rentalUris() {
return environment -> getSource(environment).getRentalUris();
}
@Override
public DataFetcher spacesAvailable() {
return environment -> getSource(environment).getSpacesAvailable();
}
@Override
public DataFetcher state() {
return environment -> {
var rentalPlace = getSource(environment);
if (rentalPlace.isFloatingVehicle() && rentalPlace.isAllowPickup()) {
return STATE_ON;
} else if (rentalPlace.isAllowDropoff() && rentalPlace.isAllowPickup()) {
return STATE_ON;
} else {
return STATE_OFF;
}
};
}
@Override
public DataFetcher stationId() {
return environment -> getSource(environment).getStationId();
}
private VehicleRentalPlace getSource(DataFetchingEnvironment environment) {
return environment.getSource();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy