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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy