trait
Node[S <: Sys[S]] extends Elem[S] with Mutable[event.Node.S.ID, event.Node.S.Tx]
Abstract Value Members
-
abstract
def
changed: EventLike[S, Any]
-
abstract
def
disposeData()(implicit tx: S.Tx): Unit
-
abstract
def
targets: Targets[S]
-
abstract
def
tpe: Type
-
abstract
def
writeData(out: DataOutput): Unit
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
dispose()(implicit tx: S.Tx): Unit
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(that: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
id: S.ID
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
final
def
write(out: DataOutput): Unit
Inherited from Writable
Inherited from AnyRef
Inherited from Any
XXX TODO -- this documentation is outdated.
An
Event.Node
is most similar to EScala'sEventNode
class. It represents an observable object and can also act as an observer itself. It adds theReactor
functionality in the form of a proxy, forwarding to internally storedTargets
. It also provides a final implementation of theWritable
andDisposable
traits, asking sub classes to provide methodswriteData
anddisposeData
. That way it is ensured that the sealedReactor
trait is written first as theTargets
stub, providing a means for partial deserialization during the push phase of event propagation.This trait also implements
equals
andhashCode
in terms of theid
inherited from the targets.