io.mstream.trader.simulation.handlers.api.simulation.stop.StopModule Maven / Gradle / Ivy
package io.mstream.trader.simulation.handlers.api.simulation.stop;
import com.google.inject.AbstractModule;
import com.google.inject.Scopes;
import com.google.inject.TypeLiteral;
import com.google.inject.assistedinject.FactoryModuleBuilder;
import io.mstream.trader.simulation.handlers.api.PayloadExtractor;
import io.mstream.trader.simulation.handlers.api.simulation.stop.data
.SimulationStopRequest;
import io.mstream.trader.simulation.handlers.api.simulation.stop.data
.SimulationStopResponse;
import io.mstream.trader.simulation.handlers.api.simulation.stop.data
.SimulationStopResponseFactory;
import ratpack.handling.Handler;
public class StopModule
extends AbstractModule {
@Override
protected void configure() {
install(new FactoryModuleBuilder()
.implement(
SimulationStopResponse.class,
SimulationStopResponse.class
)
.build(SimulationStopResponseFactory.class));
bind(Handler.class)
.annotatedWith(Stop.class)
.to(StopHandler.class)
.in(Scopes.SINGLETON);
bind(StopRequestValidator.class)
.in(Scopes.SINGLETON);
bind(new TypeLiteral>() {
})
.to(RequestPayloadExtractor.class)
.in(Scopes.SINGLETON);
}
}