package org.webpieces.router.api; import org.webpieces.router.impl.ProdRouterService; import org.webpieces.router.impl.compression.CompressionCacheSetup; import org.webpieces.router.impl.compression.ProdCompressionCacheSetup; import org.webpieces.router.impl.hooks.ClassForName; import org.webpieces.router.impl.hooks.MetaLoaderProxy; import org.webpieces.router.impl.loader.ProdClassForName; import org.webpieces.router.impl.loader.ProdLoader; import com.google.inject.Binder; import com.google.inject.Module; public class ProdRouterModule implements Module { private RouterConfig config; public ProdRouterModule(RouterConfig config) { this.config = config; } @Override public void configure(Binder binder) { binder.bind(RouterService.class).to(ProdRouterService.class).asEagerSingleton(); binder.bind(MetaLoaderProxy.class).to(ProdLoader.class).asEagerSingleton(); binder.bind(ClassForName.class).to(ProdClassForName.class).asEagerSingleton(); binder.bind(CompressionCacheSetup.class).to(ProdCompressionCacheSetup.class).asEagerSingleton();; binder.bind(RouterConfig.class).toInstance(config); } }