/* * Copyright (c) 2008-2015 Maxifier Ltd. All Rights Reserved. */ package com.maxifier.guice.bootstrap; import com.google.inject.AbstractModule; import com.google.inject.Module; import com.google.inject.name.Names; import javax.inject.Inject; import javax.inject.Named; import java.util.*; /** * @author Konstantin Lyamshin (2015-11-05 21:11) */ public class ConfiguredModule extends AbstractModule { private String config = "null"; @Inject public ConfiguredModule set(Map<String, ModuleBundle> bundles, Set<Module> modules, Properties properties, @Named("injected.cfg") String config) { this.config = String.format("b=%s,m=%s,p=%s,c=%s", bundles.keySet(), modules, properties.getProperty("custom.cfg"), config); return this; } @Override protected void configure() { bind(List.class).to(ArrayList.class); bindConstant().annotatedWith(Names.named("config")).to(config); } }