ktp / toothpick.ktp.delegate

Package toothpick.ktp.delegate

Types

DelegateNotifier

class DelegateNotifier

Internal KTP class that registers field injection delegates. The fields will be injected when calling {@link Scope#inject(Any)} with the object/entry point using field injection.

DelegateProvider

sealed class DelegateProvider<T : Any>

Internal class to KTP that will create the appropriate InjectDelegate for a field injection.

EagerDelegate

class EagerDelegate<T : Any> : InjectDelegate<T>

Delegate for fields that should be injected eagerly.

EagerDelegateProvider

class EagerDelegateProvider<T : Any> : DelegateProvider<T>

DelegateProvider for eager injections.

InjectDelegate

sealed class InjectDelegate<T : Any>

Property delegate base class. It allows to delegate the creation of fields to KTP. A typical example is

LazyDelegate

class LazyDelegate<T : Any> : InjectDelegate<T>

Delegate for fields that should be injected lazily.

LazyDelegateProvider

class LazyDelegateProvider<T : Any> : DelegateProvider<T>

DelegateProvider for provider injections.

ProviderDelegate

class ProviderDelegate<T : Any> : InjectDelegate<T>

Delegate for fields that should be injected as a provider.

ProviderDelegateProvider

class ProviderDelegateProvider<T : Any> : DelegateProvider<T>

DelegateProvider for lazy injections.

Functions

inject

fun <T : Any> inject(): EagerDelegateProvider<T>
fun <T : Any> inject(name: String): EagerDelegateProvider<T>
fun <T : Any> inject(name: KClass<out Annotation>): EagerDelegateProvider<T>

lazy

fun <T : Any> lazy(): LazyDelegateProvider<T>
fun <T : Any> lazy(name: String): LazyDelegateProvider<T>
fun <T : Any> lazy(name: KClass<out Annotation>): LazyDelegateProvider<T>

provider

fun <T : Any> provider(): ProviderDelegateProvider<T>
fun <T : Any> provider(name: String): ProviderDelegateProvider<T>
fun <T : Any> provider(name: KClass<out Annotation>): ProviderDelegateProvider<T>