Я использую com.google.inject:guice
.В моем проекте я включил зависимость, у которой есть модуль (класс, который расширяет com.google.inject.AbstractModule
), который определяет MapBinder
как этот
public class ParentGuiceModule extends AbstractModule {
@Override
protected void configure() {
MapBinder.newMapBinder(binder(), TypeLiteral.get(String.class), TypeLiteral.get(SomeModuleClass.class));
...
}
}
В моем классе модуля я хочу получить это MapBinder
и добавьте новые привязки к нему.Я хочу написать что-то вроде этого:
public class MyGuiceModule extends AbstractModule {
@Override
protected void configure() {
MapBinder<String, SomeModuleClass> parentModules = MapBinder.get(binder(), TypeLiteral.get(String.class), TypeLiteral.get(SomeModuleClass.class));
parentModules.addBinding("MyId").to(MyClass.class);
}
}
Как я могу это сделать?Я не могу изменить родительский модуль.
Я изучил класс MapBinder
, кажется, у него нет никаких методов для установки уже установленного MapBinder
.