私はインターフェースを持っています
public interface SomeInterface {
void test();
}
SomeInterface
と呼ばれるの実装を生成する注釈プロセッサSomeInterfaceImpl
。
このタイプを Dagger 依存性注入で使用できるようにするには、次のように作成します。
@Component(modules = {ApplicationModule.class})
@Singleton
public interface ApplicationComponent {
SomeInterface getSomeInterface();
}
と
@Module
public class ApplicationModule {
@Provides
@Singleton
SomeInterface provideSomeInterface() {
return new SomeInterfaceImpl();
}
}
問題は、ApplicationModule で use を使用できないことSomeInterfaceImpl
です。それはまだ利用できず、アノテーション プロセッサによって生成されるためです。
SomeInterface
Dagger 依存性注入に使用できるように注釈プロセッサを拡張し、生成された実装SomeInterfaceImpl
が正しく解決されるようにするにはどうすればよいですか?
編集:
この例は機能しますが、別の注釈プロセッサを使用して ApplicationModule を作成し、プロセッサに ApplicationModule を何らかの方法でダガー グラフに統合させたいと考えています。@Component(modules={ApplicationModule.class}) ApplicationModule が生成されることをコードで知らないため、存在しません。生成された @Module クラスを Dagger Graph に統合する方法はありますか? ABCModule が生成されて @Component に追加されると推測したくないことに注意してください。これがどういうわけか自動的に起こることを望みます。