Collection.Observable

trait Observable[A] extends Collection[A] with Gen.O

Observable Collection

Observable collection allows to track add, remove changes by subscribing to the events

Source
Observable.scala
trait Collection[Collection.Observable.A]
trait Able.Size
trait Able.Stream[Collection.Observable.A]
class java.lang.Object
trait scala.Matchable
class Any
trait Collection.ObservableMutable[Collection.ObservableMutable.A]

Def

def onAdd[U](l: A => U): Event.Control

On element add

On element add

Subscribes given function to element add event

val co: Collection.ObservableMutable[Int] = Collection.OM[Int]()

co.onAdd("Added: "+ _ tp())

co ++= 1 <> 3

// Output
Added: 1
Added: 2
Added: 3
Source
Observable.scala
def onRemove[U](l: A => U): Event.Control

On element remove

On element remove

Subscribes given function to element remove event

val co: Collection.ObservableMutable[Int] = Collection.OM[Int]()

co.onRemove("Removed: "+ _ tp())

co ++= 1 <> 10

co --= 5 <> 7

// Output
Removed: 7
Removed: 6
Removed: 5
Source
Observable.scala
def size: Int
Inherited from
Collection
Source
__.scala
def stream: Stream[A]

Stream elements

Stream elements

Returns a stream of all collection elements

Unless specifically defined, the order must be assumed as random

  val c = Collection(1,3,5,7)
  c.stream.tp

  // Output
  Stream(1, 3, 5, 7)
Inherited from
Collection
Source
__.scala