net.corda.client.fxutils / javafx.beans.value.ObservableValue

Extensions for javafx.beans.value.ObservableValue

bind fun <A, B> ObservableValue<out A>.bind(function: (A) -> ObservableValue<B>): ObservableValue<B>

data class Person(val height: ObservableValue) val person: ObservableValue = (..) val personHeight: ObservableValue = person.bind { it.height }

bindOut fun <A, B> ObservableValue<out A>.bindOut(function: (A) -> ObservableValue<out B>): ObservableValue<out B>

A variant of bind that has out variance on the output type. This is sometimes useful when kotlin is too eager to propagate variance constraints and type inference fails.

isNotNull fun ObservableValue<*>.isNotNull(): BooleanBinding
map fun <A, B> ObservableValue<out A>.map(function: (A) -> B): ObservableValue<B>

val person: ObservableValue = (..) val personName: ObservableValue = person.map { it.name }