私はインターフェースを持っています:
public interface MyInterface {...}
MyInterface の各実装には、独自の (異なる) 依存関係があります。例:
public class MyObjectOne implements MyInterface {
@Inject ServiceA ...;
...
}
public class MyObjectTwo implements MyInterface {
@Inject ManagerB ...;
@Inject ProviderC ...;
...
}
何百もの MyInterface 実装を持つことができます。今、私は次のようにマップを作成したいと思います:
Map<String, MyInterface> map = new HashMap<String, MyInterface>();
map.put("key1", new MyObjectOne());
map.put("key2", new MyObjectTwo());
...
map.put("keyn", new MyObjectN());
残念ながら、このショート サーキット ダガーは、MyObjectOne、MyObjectTwo、...、および MyObjectN に何も注入しません。さらに、このコードはライブラリ/モジュールの一部であるため、現時点では ObjectGraph はありません。
解決策を探していたときに、Guice のMapBinderクラスに出くわしました。この機能は Dagger では使用できません。
私の問題は Dagger で解決できますか?
そうでない場合、MapBinder は Dagger 2.0 に組み込まれる可能性のある機能ですか?
乾杯と前もって感謝します。