Пример объявления подкомпонента в аннотации модуля @Module (подкомпоненты = ...) - PullRequest
0 голосов
/ 17 января 2019

Какой вариант использования объявления subcomponent в кинжале module annotation ?. например,

@Module(subcomponents = ChildComponent.class)
public class ModuleB 

Я прочитал документацию, но не смог найти ни одного примера использования.

Any {@link Subcomponent}- or {@code @ProductionSubcomponent}-annotated classes which should be
   * children of the component in which this module is installed. A subcomponent may be listed in
   * more than one module in a component.

1 Ответ

0 голосов
/ 17 января 2019

Вы можете указать подкомпонентные классы, которые должны зависеть от компонента, дочерним для которого является ваш модуль.

У меня есть компонент A с модулем ModuleA и компонент B. Если вы укажете subcomponents = B.class внутри ModuleA, кинжал не будет компилировать, давая

error: A doesn't have a @Subcomponent.Builder, which is required when used with @Module.subcomponents
@Module(subcomponents = {B.class})
^

, если компонент B не является субкомпонентом A.

...