koin-core / org.koin.core.definition / BeanDefinition

BeanDefinition

data class BeanDefinition<T>

Koin bean definition main structure to make definition in Koin

Parameters

qualifier -

primaryType -

Author
Arnaud Giuliani

Constructors

<init>

Koin bean definition main structure to make definition in Koin

BeanDefinition(scopeQualifier: Qualifier, primaryType: KClass<*>, qualifier: Qualifier? = null, definition: Definition<T>, kind: Kind, secondaryTypes: List<KClass<*>> = listOf(), options: Options = Options(), properties: Properties = Properties())

Properties

callbacks

var callbacks: Callbacks<T>

definition

val definition: Definition<T>

kind

val kind: Kind

options

val options: Options

primaryType

val primaryType: KClass<*>

properties

val properties: Properties

qualifier

val qualifier: Qualifier?

scopeQualifier

val scopeQualifier: Qualifier

secondaryTypes

var secondaryTypes: List<KClass<*>>

Functions

canBind

fun canBind(primary: KClass<*>, secondary: KClass<*>): Boolean

equals

fun equals(other: Any?): Boolean

hashCode

fun hashCode(): Int

hasType

fun hasType(clazz: KClass<*>): Boolean

is

fun is(clazz: KClass<*>, qualifier: Qualifier?, scopeDefinition: Qualifier): Boolean

toString

fun toString(): String

Extension Functions

bind

Add a compatible type to match for definition

infix fun <T> BeanDefinition<T>.bind(clazz: KClass<*>): BeanDefinition<T>
fun <T> BeanDefinition<*>.bind(): BeanDefinition<*>

binds

Add compatible types to match for definition

infix fun BeanDefinition<*>.binds(classes: Array<KClass<*>>): BeanDefinition<*>

onClose

Callback when closing instance

infix fun <T> BeanDefinition<T>.onClose(onClose: OnCloseCallback<T>): BeanDefinition<T>