Multiton

class Multiton<C : Any, A, T : Any>(scope: Scope<C>, contextType: TypeToken<in C>, explicitContext: Boolean, argType: TypeToken<in A>, createdType: TypeToken<out T>, refMaker: RefMaker?, sync: Boolean, creator: BindingDI<C>.(A) -> T) : DIBinding<C, A, T>

Concrete multiton: will create one and only one instance for each argument. Will create the instance on first time a given argument is used and will subsequently always return the same instance for the same argument.

Parameters

T

The created type.

Constructors

Multiton
Link copied to clipboard
common
fun <C : Any, A, T : Any> Multiton(scope: Scope<C>, contextType: TypeToken<in C>, explicitContext: Boolean, argType: TypeToken<in A>, createdType: TypeToken<out T>, refMaker: RefMaker? = null, sync: Boolean = true, creator: BindingDI<C>.(A) -> T)
The created type.

Functions

equals
Link copied to clipboard
common
open operator fun equals(other: Any?): Boolean
factoryFullName
Link copied to clipboard
common
open override fun factoryFullName(): String
The full(er) name of this factory, used for debug print only.
factoryName
Link copied to clipboard
common
open override fun factoryName(): String
The name of this factory, used for debug print only.
getFactory
Link copied to clipboard
common
open override fun getFactory(key: DI.Key<C, A, T>, di: BindingDI<C>): (A) -> T
Returns a factory for the given key.
hashCode
Link copied to clipboard
common
open fun hashCode(): Int
toString
Link copied to clipboard
common
open fun toString(): String

Properties

argType
Link copied to clipboard
common
open override val argType: TypeToken<in A>
The type of the argument used for each value can there be a new instance.
contextType
Link copied to clipboard
common
open override val contextType: TypeToken<in C>
The type of contexts that are to be set when using this factory.
copier
Link copied to clipboard
common
open override val copier: DIBinding.Copier<C, A, T>
A copier that is responsible for copying / resetting the binding.
createdType
Link copied to clipboard
common
open override val createdType: TypeToken<out T>
The type of the created object, used for debug print only.
description
Link copied to clipboard
common
open val description: String
The description of this factory (using simple type names), used for debug print only.
fullDescription
Link copied to clipboard
common
open val fullDescription: String
The description of this factory (using full type names), used for debug print only.
scope
Link copied to clipboard
common
open override val scope: Scope<C>
The scope used by this factory, if any
supportSubTypes
Link copied to clipboard
common
open val supportSubTypes: Boolean
Whether this bindings supports subtype handling.
sync
Link copied to clipboard
common
val sync: Boolean = true