Рассмотрим следующий инжектор:
class Injector constructor(secretSauce: SecretSauce) {
val kodein = Kodein {
bind<SpicyBeans>() with factory { beans: List<Bean>, herbs: List<Herb> ->
SpicyBeans(secretSauce, beans, herbs)
}
}
}
И следующая бизнес-логика:
class TastyMeal {
private lateinit var injector : Kodein
private lateinit var spicyBeans : SpicyBeans
fun initialiseWithInjector(kodein : Kodein) {
injector = kodein
val herbs = listOf(Coriander(), Cumin())
val beans = listOf(Pinto(), BlackEyed())
// fetch SpicyBeans via given Kodein Factory, given herbs and beans here
}
}
Как я могу использовать функцию прямой инъекции Kodein для извлечения экземпляра SpicyBeans
с использованием фабрики, передавая List<Herb>
и List<Bean>
после создания экземпляра TastyMeal
? Я не могу найти пример в документации.