
io.mstream.trader.datafeed.handlers.api.stocks.StocksChain Maven / Gradle / Ivy
The newest version!
package io.mstream.trader.datafeed.handlers.api.stocks;
import io.mstream.trader.datafeed.handlers.api.stocks.names.GetNames;
import io.mstream.trader.datafeed.handlers.api.stocks.price.GetPrice;
import io.mstream.trader.datafeed.handlers.api.stocks.price.ParameterNameProvider;
import ratpack.func.Action;
import ratpack.handling.Chain;
import ratpack.handling.Handler;
import javax.inject.Inject;
import static java.lang.String.format;
class StocksChain
implements Action {
private final Handler getNamesHandler;
private final Handler getPriceHandler;
private final ParameterNameProvider parameterNameProvider;
@Inject
public StocksChain(
@GetNames Handler getNamesHandler,
@GetPrice Handler getPriceHandler,
ParameterNameProvider parameterNameProvider) {
this.getNamesHandler = getNamesHandler;
this.getPriceHandler = getPriceHandler;
this.parameterNameProvider = parameterNameProvider;
}
@Override
public void execute(Chain chain)
throws Exception {
chain.get("", getNamesHandler);
chain.get(
format(":%s/price/:%s",
parameterNameProvider.stockId(),
parameterNameProvider.date()),
getPriceHandler
);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy