singleton

fun <SRV : Any> singleton(srv: KClass<SRV>): KontainerBuilder
inline fun <SRV : Any> singleton(): KontainerBuilder
fun <SRV : Any, IMPL : SRV> singleton(srv: KClass<SRV>, impl: KClass<IMPL>): KontainerBuilder

Registers a singleton service

The service can by injected by the type SRV and its base types

fun <SRV : Any, IMPL : SRV, FAC : Function<IMPL>> singleton(srv: KClass<SRV>, factory: FAC): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, FAC : Function<IMPL>> singleton(factory: FAC): KontainerBuilder

Registers a singleton service with variable number of parameters

The service can by injected by the type SRV and its base types

fun <SRV : Any, IMPL : SRV, P1> singleton(srv: KClass<SRV>, factory: (P1) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1> singleton(noinline factory: (P1) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2> singleton(srv: KClass<SRV>, factory: (P1, P2) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2> singleton(noinline factory: (P1, P2) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3> singleton(srv: KClass<SRV>, factory: (P1, P2, P3) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3> singleton(noinline factory: (P1, P2, P3) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4> singleton(noinline factory: (P1, P2, P3, P4) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5> singleton(noinline factory: (P1, P2, P3, P4, P5) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6> singleton(noinline factory: (P1, P2, P3, P4, P5, P6) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) -> IMPL): KontainerBuilder
fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16> singleton(srv: KClass<SRV>, factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16) -> IMPL): KontainerBuilder
inline fun <SRV : Any, IMPL : SRV, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16> singleton(noinline factory: (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16) -> IMPL): KontainerBuilder

Create a singleton via a factory

The service can by injected by the type SRV and its base types The actual implementation will have the type IMPL