Sobes.tech
Junior — Middle

Da li je moguće implementirati u Daggeru dve metode u istom modulu koje vraćaju isti tip objekta?

sobes.tech АИ

Одговор од АИ

У Dagger-у није могуће једноставно објавити две методе у истом модулу које враћају исти тип објекта без додатне квалификације, јер би то довело до конфликта при решавању зависности. Да бисте реализовали такву ситуацију, морате користити анотације @Qualifier или @Named да бисте разликовали ове зависности. На пример:

@Module
public class MyModule {
    @Provides
    @Named("typeA")
    MyObject provideMyObjectA() {
        return new MyObject("A");
    }

    @Provides
    @Named("typeB")
    MyObject provideMyObjectB() {
        return new MyObject("B");
    }
}

На овај начин, приликом инјекције можете назначити жељену варијанту помоћу @Named("typeA") или @Named("typeB").