winter / io.jentz.winter / Injector / providerOrNull

providerOrNull

inline fun <reified 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 R.

Parameters

qualifier - An optional qualifier.

generics - Preserve generic type parameters.

Return
The created InjectedProperty.

inline fun <reified A, reified 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 () -> R. This lookups a factory of type (A) -> R and calls it with the supplied argument when the provider gets invoked. The delegate will return null when no factory of type (A) -> R exists.

Parameters

argument - The argument for the factory.

qualifier - An optional qualifier.

generics - Preserve generic type parameters.

Return
The created InjectedProperty.