sealed class InjectDelegate<T : Any>
Property delegate base class. It allows to delegate the creation of fields to KTP. A typical example is
val clz: Class<T> |
|
abstract val instance: T |
|
val name: String? |
operator fun getValue(thisRef: Any, property: KProperty<*>): T |
|
abstract fun isEntryPointInjected(): Boolean |
|
abstract fun onEntryPointInjected(scope: Scope): Unit |
class EagerDelegate<T : Any> : InjectDelegate<T>
Delegate for fields that should be injected eagerly. |
|
class LazyDelegate<T : Any> : InjectDelegate<T>
Delegate for fields that should be injected lazily. |
|
class ProviderDelegate<T : Any> : InjectDelegate<T>
Delegate for fields that should be injected as a provider. |