С помощью SubCut я могу определить BindingModule и использовать modifyBindings , чтобы получить новый, который может перезаписывать некоторые привязки, а также добавлять новые привязки. Есть ли утилита, где вместо поговорки
val module : BindingModule
val newModule = module.modifBindings(...)
Я мог бы вместо этого сделать что-то вроде
val mergedModule = merge(module1,module2,module3,...)
Причина в том, что я пишу приложение с «подключаемыми» банками - у каждого такого банку будет файл META-INF / bindings.properties , который будет отображать имя класса его BindingModule . Мой основной входной jar будет создавать экземпляры этих BindingModules через отражение, а затем объединять их.
Идея заключается в том, что если подключаемые банки следуют соглашению о предоставлении META-INF / bindings.properties , то для развертывания приложения не требуется никакой новой конфигурации.