Builder

Properties

Link copied to clipboard

Functions

Link copied to clipboard
fun <R, A, S : UnboundService<R>> S.alias(key: TypeKey<A>): S
inline fun <R, A : Any, S : UnboundService<R>> S.alias(kClass: KClass<A>, qualifier: Qualifier? = null): S

Create an alias entry for the UnboundService.

fun <R0, R1> alias(targetKey: TypeKey<R0>, newKey: TypeKey<R1>)

Creates an alias entry.

Link copied to clipboard
inline fun <R> constant(value: R, typeKey: TypeKey<R> = erased()): UnboundService<R>

Register a constant of type R.

Link copied to clipboard
fun containsKey(key: TypeKey<*>, checkParent: Boolean = true): Boolean

Check if the registry contains a service with key

Link copied to clipboard

Marks a singleton as eager which will instantiate the singleton when the graph opens.

Link copied to clipboard
fun include(component: Component, subcomponentIncludeMode: Component.Builder.SubcomponentIncludeMode = SubcomponentIncludeMode.Merge)

Include dependency from the given component into the new component.

Link copied to clipboard
inline fun override(block: () -> Unit)

Service registry functions will override already existing services with the same TypeKey inside of the block.

Link copied to clipboard
inline fun <R> prototype(typeKey: TypeKey<R> = erased(), noinline factory: GFactory<R>): PrototypeService<R>

Register a prototype scoped factory for an instance of type R.

Link copied to clipboard
inline fun <R : Any> Component.Builder.prototypeOf(noinline constructor: () -> R, key: TypeKey<R> = erased()): PrototypeService<R>

Register a prototype scoped constructor for an instance of type R.

inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17, a18: A18) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0> Component.Builder.prototypeOf(noinline constructor: (a0: A0) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17, a18: A18, a19: A19) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17, a18: A18, a19: A19, a20: A20) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8> Component.Builder.prototypeOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8) -> R, key: TypeKey<R> = erased()): PrototypeService<R>
Link copied to clipboard
fun <R, S : UnboundService<R>> register(service: S): S

Register a UnboundService.

Link copied to clipboard
inline fun <R> remove(silent: Boolean = false)
fun remove(key: TypeKey<*>, silent: Boolean = false)

Remove a dependency from the component.

Link copied to clipboard
inline fun <R> singleton(typeKey: TypeKey<R> = erased(), noinline factory: GFactory<R>): SingletonService<R>

Register a singleton scoped factory for an instance of type R.

Link copied to clipboard
inline fun <R : Any> Component.Builder.singletonOf(noinline constructor: () -> R, key: TypeKey<R> = erased()): SingletonService<R>

Register a singleton scoped constructor for an instance of type R.

inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17, a18: A18) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0> Component.Builder.singletonOf(noinline constructor: (a0: A0) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17, a18: A18, a19: A19) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9, a10: A10, a11: A11, a12: A12, a13: A13, a14: A14, a15: A15, a16: A16, a17: A17, a18: A18, a19: A19, a20: A20) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7) -> R, key: TypeKey<R> = erased()): SingletonService<R>
inline fun <R : Any, A0, A1, A2, A3, A4, A5, A6, A7, A8> Component.Builder.singletonOf(noinline constructor: (a0: A0, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8) -> R, key: TypeKey<R> = erased()): SingletonService<R>
Link copied to clipboard
fun subcomponent(qualifier: Qualifier, deriveExisting: Boolean = false, block: Component.Builder.() -> Unit)

Register a subcomponent.