rd-framework / com.jetbrains.rd.framework.base / IRdReactive

IRdReactive

interface IRdReactive : IRdBindable, IRdWireable

A non-root node in an object graph which can be synchronized with its remote copy over a network or a similar connection, and which allows to subscribe to its changes.

Properties

async

abstract var async: Boolean

If set to true, local changes to this object can be performed on any thread. Otherwise, local changes can be performed only on the UI thread.

Inherited Properties

isBound

abstract val isBound: Boolean

rdid

abstract val rdid: RdId

wireScheduler

abstract val wireScheduler: <ERROR CLASS>

Scheduler on which wire invokes callback onWireReceived. Default is the same as protocol's one.

Inherited Functions

bind

abstract fun bind(lf: <ERROR CLASS>, parent: IRdDynamic, name: String): Unit

Inserts the node into the object graph under the given parent and assigns the specified name to it. The node will be removed from the graph when the specified lf lifetime is terminated.

deepClone

open fun deepClone(): IRdBindable

Creates a clone of this IRdBindable not bound to any protocol

identify

abstract fun identify(identities: IIdentities, id: RdId): Unit

Assigns IDs to this node and its child nodes in the graph.

onWireReceived

abstract fun onWireReceived(buffer: AbstractBuffer): Unit

Callback that wire triggers when it receives messaged

Extension Functions

bind

fun <T : IRdBindable?> T.bind(lf: <ERROR CLASS>, parent: IRdDynamic, name: String): Unit?

deepClonePolymorphic

fun <T> T.deepClonePolymorphic(): T

identify

fun <T : IRdBindable?> T.identify(identities: IIdentities, ids: RdId): Unit?

Inheritors

IInternRoot

interface IInternRoot<TBase : Any> : IRdReactive

Interns values sent over protocol

RdReactiveBase

abstract class RdReactiveBase : RdBindableBase, IRdReactive