ProviderDslProperty

A DSL property backed by a Provider. Can be set to a static value or bound to a reactive Provider using the by infix function.

// static value
stringValue by "abc"

// reactive provider
stringValue by myStringProvider

This property is also a Provider, meaning that the configured provider can be read back:

val mapped = stringValue.map { it.length }
intValue by mapped

Properties

Link copied to clipboard
abstract val children: Set<Provider<*>>
Link copied to clipboard
open val delegate: Provider<T>
Link copied to clipboard
abstract val isStable: Boolean
Link copied to clipboard
abstract val parents: Set<Provider<*>>
Link copied to clipboard
abstract val value: DeferredValue<T>

Functions

Link copied to clipboard
abstract fun addStrongChild(child: Provider<*>)
Link copied to clipboard
abstract fun addWeakChild(child: Provider<*>)
Link copied to clipboard
open infix fun by(value: T)

Sets this property to a static value.

abstract infix fun by(provider: Provider<T>)

Binds this property to a reactive Provider. The property will update automatically when the provider's value changes.

Link copied to clipboard
@JvmName(name = "listByValue")
infix fun <T : Any> DslProperty<in List<T>>.by(value: T)

Sets this List property to a single value.

@JvmName(name = "listByValueProvider")
infix fun <T : Any> DslProperty<in List<T>>.by(value: Provider<T>)

Sets this List property to a provider of a single value.

@JvmName(name = "setByValue")
infix fun <T : Any> DslProperty<in Set<T>>.by(value: T)

Sets this Set property to a single value.

@JvmName(name = "setByValueProvider")
infix fun <T : Any> DslProperty<in Set<T>>.by(value: Provider<T>)

Sets this Set property to a provider of a single value.

Link copied to clipboard
abstract fun <R> flatMap(transform: (T) -> Provider<R>): Provider<R>
Link copied to clipboard
open override fun get(): T
Link copied to clipboard
open operator fun <X> getValue(thisRef: X?, property: KProperty<*>?): T
Link copied to clipboard
abstract fun handleParentUpdated(updatedParent: Provider<*>)
Link copied to clipboard
abstract fun <R> immediateFlatMap(transform: (T) -> Provider<R>): Provider<R>
Link copied to clipboard
abstract fun <R> immediateFlatMapMutable(transform: (T) -> MutableProvider<R>): MutableProvider<R>
Link copied to clipboard
abstract fun <R> map(transform: (T) -> R): Provider<R>
Link copied to clipboard
abstract fun observe(action: () -> Unit)
Link copied to clipboard
abstract fun <R : Any> observeWeak(owner: R, action: (owner: R) -> Unit)
Link copied to clipboard
abstract fun removeStrongChild(child: Provider<*>)
Link copied to clipboard
abstract fun removeWeakChild(child: Provider<*>)
Link copied to clipboard
abstract fun <R> strongFlatMap(transform: (T) -> Provider<R>): Provider<R>
Link copied to clipboard
abstract fun <R> strongImmediateFlatMap(transform: (T) -> Provider<R>): Provider<R>
Link copied to clipboard
Link copied to clipboard
abstract fun <R> strongMap(transform: (T) -> R): Provider<R>
Link copied to clipboard
abstract fun subscribe(action: (value: T) -> Unit)
Link copied to clipboard
abstract fun <R : Any> subscribeWeak(owner: R, action: (owner: R, value: T) -> Unit)
Link copied to clipboard
abstract fun unobserve(action: () -> Unit)
Link copied to clipboard
abstract fun <R : Any> unobserveWeak(owner: R)
abstract fun <R : Any> unobserveWeak(owner: R, action: (R) -> Unit)
Link copied to clipboard
abstract fun unsubscribe(action: (T) -> Unit)
Link copied to clipboard
abstract fun <R : Any> unsubscribeWeak(owner: R)
abstract fun <R : Any> unsubscribeWeak(owner: R, action: (R, T) -> Unit)