Model

trait Model[A] extends Sink[A] with Source[A]

A model behaves like a Ref[Ex[A]], that is it can give an expression, and it can be "set" to an expression, which means its internal state is synchronized to another expression. For example, a slider widget may contain a Model[Int] where the expression represents the current slider value, and updating the expression synchronizes the slider to an external expression.

Syntactic alternatives are available through the implicit Ops, so that one can write model <-- ex instead of model.update(ex) or model <-> attr instead of model.update(attr); attr.update(model()).

Companion:
object
trait Source[A]
trait Sink[A]
class Object
trait Matchable
class Any

Value members

Concrete methods

def -->[F](that: F)(implicit arrow: Right[A, F]): Unit
Implicitly added by Ops
def <--[F](that: F)(implicit arrow: Left[A, F]): Unit
Implicitly added by Ops
def <->[F](that: F)(implicit left: Left[A, F], right: Right[A, F]): Unit
Implicitly added by Ops

Deprecated methods

@deprecated("Use --> instead", since = "4.4.5")
def --->[F](that: F)(implicit arrow: Right[A, F]): Unit
Implicitly added by Ops
Deprecated
[Since version 4.4.5]
@deprecated("Use <-- instead", since = "4.4.5")
def <---[F](that: F)(implicit arrow: Left[A, F]): Unit
Implicitly added by Ops
Deprecated
[Since version 4.4.5]
@deprecated("Use <-> instead", since = "4.4.5")
def <-->[F](that: F)(implicit left: Left[A, F], right: Right[A, F]): Unit
Implicitly added by Ops
Deprecated
[Since version 4.4.5]

Inherited methods

def apply(): Ex[A]
Inherited from:
Source
def update(value: Ex[A]): Unit
Inherited from:
Sink