@Target(value=TYPE)
@Retention(value=CLASS)
public @interface InflationModule
@Module which will have a peer module generated with bindings for all of
the @InflationInject-annotated types in this compilation unit.
The generated module must then be added to this module's includes array.
For example:
@InflationModule
@Module(includes = InflationInject_PresenterModule.class)
abstract class PresenterModule {}
The generated module's bindings look approximately like this:
@Binds
@IntoMap
@StringKey("com.example.CustomView")
abstract ViewFactory bindComExampleCustomView(CustomView_InflationFactory factory)
CustomView_InflationFactory is also a generated type from annotating one of
CustomView's constructors with @InflationInject.
The result is that a Map<String, ViewFactory> is available in the graph. However, you
usually want to interact with it by injecting InflationInjectFactory rather than dealing
directly with the map.
InflationInjectFactory