class Injector
The Injector provides a was to inject dependencies into properties via Kotlins property delegates.
E.g.
class MyClass {
private val injector = Injector()
private val eagerService: Service1 by injector.instance()
private val lazyService: Service2 by injector.lazyInstance()
private val fromFactory: Widget by injector.instance(Color.BLUE)
fun onCreate() {
injector.inject(Application.graph)
}
}
abstract class InjectedProperty<out T> : ReadOnlyProperty<Any?, T> |
Injector()
The Injector provides a was to inject dependencies into properties via Kotlins property delegates. |
val injected: Boolean |
fun <A, R : Any> factory(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<Factory<A, R>>
Creates and registers a property delegate for a factory of type (A) -> R. |
|
fun <A, R : Any> factoryOrNull(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<Factory<A, R>?>
Creates and registers a property delegate for an optional factory of type (A) -> R. |
|
fun inject(graph: Graph): Unit
Connects the given graph with all previously created property delegates to resolve the dependencies. |
|
fun <R : Any> instance(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R>
Creates and registers a property delegate for an instance of type fun <A, R : Any> instance(argument: A, qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R>
Creates and registers a property delegate for an instance of type |
|
fun <R : Any> instanceOrNull(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R?>
Creates and registers a property delegate for an optional instance of type fun <A, R : Any> instanceOrNull(argument: A, qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R?>
Creates and registers a property delegate for an optional instance of type |
|
fun <R : Any> instancesOfType(generics: Boolean = false): Injector.InjectedProperty<Set<R>>
Creates and registers a property delegate for a Set of instances of type |
|
fun <R : Any> lazyInstance(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R> fun <A, R : Any> lazyInstance(argument: A, qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R>
Creates and registers a lazy property delegate for an instance of type |
|
fun <R : Any> lazyInstanceOrNull(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R?> fun <A, R : Any> lazyInstanceOrNull(argument: A, qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<R?>
Creates and registers a lazy property delegate for an optional instance of type |
|
fun <R : Any> lazyInstancesOfType(generics: Boolean = false): Injector.InjectedProperty<Set<R>>
Creates and registers a lazy property delegate for a Set of instances of type |
|
fun <R : Any> provider(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<Provider<R>>
Creates and registers a property delegate for a Provider of type fun <A, R : Any> provider(argument: A, qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<Provider<R>>
Creates and registers a property delegate for a Provider of type |
|
fun <R : Any> providerOrNull(qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<Provider<R>?>
Creates and registers a property delegate for an optional Provider of type fun <A, R : Any> providerOrNull(argument: A, qualifier: Any? = null, generics: Boolean = false): Injector.InjectedProperty<Provider<R>?>
Creates and registers a property delegate for a Provider of type |
|
fun <R : Any> providersOfType(generics: Boolean = false): Injector.InjectedProperty<Set<Provider<R>>>
Creates and registers a property delegate for a Set of providers of type |