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

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
        );
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy