zoltu
02/14/2016, 3:38 AMclass Listenable<T> {
constructor(initialValue: T) { value = initialValue; }
private val value: T;
fun get(): T { return value; }
fun set(newValue: T) { value = newValue; callListeners(); }
fun addListener(listener: (T, T) -> Unit) { ... }
fun removeListener(listener: (T, T) -> Unit) { ... }
private fun callListeners() { ... }
}
class Foo {
var prop1: Listenable<String> = Listenable("");
}
val foo = Foo()
foo.prop1.addListener { (before, after) -> println "before -> after" }
foo.prop1..set("bar");