Предположим, у меня есть следующий граф объектов:
- Компонент с именем
AppComponent
, ограниченный @AppScope
(@Singleton
эквивалент) - Подкомпонент с именем
SessionComponent
, ограниченный @SessionScope
, который является подкомпонентом AppComponent
SessionComponent
зависимостей, которые создаются (внедряются) при каждом запуске сеанса.
Можно ли внедрить @SessionScope
зависимостей(предоставляется на SessionComponent
) в зависимости @AppScope
(предоставляется на AppComponent
)?
Возможно и наоборот, как упомянуто в Component
документации:
Самый простойспособ связать два компонента, объявив Subcomponent
.Субкомпонент ведет себя точно так же, как компонент, но его реализация генерируется внутри родительского компонента или субкомпонента.Это отношение позволяет реализации подкомпонента наследовать весь связывающий граф от его родительского , когда он объявлен.
Я обнаружил, что программно это возможно, используя этот подход , но возможно ли использовать только Dagger API?