io.mstream.trader.simulation.handlers.api.simulation.SimulationChain Maven / Gradle / Ivy
package io.mstream.trader.simulation.handlers.api.simulation;
import io.mstream.trader.simulation.handlers.api.simulation.continuation.Continue;
import io.mstream.trader.simulation.handlers.api.simulation.start.Start;
import io.mstream.trader.simulation.handlers.api.simulation.stop.Stop;
import ratpack.func.Action;
import ratpack.handling.Chain;
import ratpack.handling.Handler;
import javax.inject.Inject;
public class SimulationChain
implements Action {
private final Handler startHandler;
private final Handler continueHandler;
private final Handler stopHandler;
@Inject
public SimulationChain(
@Start Handler startHandler,
@Continue Handler continueHandler,
@Stop Handler stopHandler) {
this.startHandler = startHandler;
this.continueHandler = continueHandler;
this.stopHandler = stopHandler;
}
@Override
public void execute(Chain chain)
throws Exception {
chain.post(
"start",
startHandler
);
chain.post(
"continue",
continueHandler
);
chain.post(
"stop",
stopHandler
);
}
}