Trait

rescala.interface

RescalaInterface

Related Doc: package interface

Permalink

trait RescalaInterface extends EventBundle with SignalBundle with FlattenApi with Sources with DefaultImplementations with Observing with Core with SignalCompatBundle with EventCompatBundle

Rescala has two main abstractions. Event and Signal commonly referred to as reactives. Use Var to create signal sources and Evt to create event sources.

Events and signals can be created from other reactives by using combinators, signals additionally can be created using Signal expressions.

Linear Supertypes
Known Subclasses
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. RescalaInterface
  2. SignalCompatBundle
  3. Observing
  4. DefaultImplementations
  5. Sources
  6. FlattenApi
  7. FlattenCollectionCompat
  8. SignalBundle
  9. EventBundle
  10. EventCompatBundle
  11. InterpBundle
  12. Core
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait AccessTicket extends AnyRef

    Permalink
    Definition Classes
    Core
  2. abstract class AdmissionTicket extends InnerTicket with AccessTicket

    Permalink

    Enables reading of the current value during admission.

    Enables reading of the current value during admission. Keeps track of written sources internally.

    Definition Classes
    Core
  3. abstract class Base[V] extends ReSource

    Permalink

    Base implementation for reactives, with Derived for scheduling, together with a ReName and containing a State

    Base implementation for reactives, with Derived for scheduling, together with a ReName and containing a State

    Definition Classes
    Core
  4. class ChangeEventImpl[T] extends (DefaultImplementations.this)#Base[(Pulse[T], Pulse[Diff[T]])] with (DefaultImplementations.this)#Derived with (DefaultImplementations.this)#Event[Diff[T]] with (DefaultImplementations.this)#DisconnectableImpl

    Permalink
    Definition Classes
    DefaultImplementations
  5. final class CreationTicket extends AnyRef

    Permalink

    Enables the creation of other reactives

    Enables the creation of other reactives

    Definition Classes
    Core
    Annotations
    @implicitNotFound( ... )
  6. trait Derived extends ReSource

    Permalink

    A reactive value is something that can be reevaluated

    A reactive value is something that can be reevaluated

    Definition Classes
    Core
  7. abstract class DerivedImpl[T] extends (DefaultImplementations.this)#Base[Pulse[T]] with (DefaultImplementations.this)#Derived with (DefaultImplementations.this)#DisconnectableImpl

    Permalink
    Definition Classes
    DefaultImplementations
  8. trait Disconnectable extends AnyRef

    Permalink
    Definition Classes
    Core
  9. trait DisconnectableImpl extends Derived with Disconnectable

    Permalink
    Definition Classes
    Core
  10. trait DynamicInitializerLookup[ExactInitializer <: Initializer] extends Scheduler

    Permalink
    Definition Classes
    Core
  11. abstract class DynamicTicket extends StaticTicket

    Permalink

    User facing low level API to access values in a dynamic context.

    User facing low level API to access values in a dynamic context.

    Definition Classes
    Core
  12. trait Event[+T] extends (EventBundle.this)#ReSource with (EventBundle.this)#EventCompat[T] with (EventBundle.this)#InterpMacro[Option[T]] with (EventBundle.this)#Disconnectable

    Permalink

    Events only propagate a value when they are changing, when the system is at rest, events have no values.

    Events only propagate a value when they are changing, when the system is at rest, events have no values.

    Note: We hide implicit parameters of the API in the documentation. They are used to ensure correct creation, and you normally do not have to worry about them, except if you accidentally call the implicit parameter list, in which cas you may get cryptic errors. This is a scala limitation. We also hide the internal state parameter of passed and returned events.

    T

    Value type of the event occurrences.

    Definition Classes
    EventBundle
  13. trait EventCompat[+T] extends (EventCompatBundle.this)#InterpMacro[Option[T]]

    Permalink
    Definition Classes
    EventCompatBundle
  14. class EventImpl[T] extends (DefaultImplementations.this)#DerivedImpl[T] with (DefaultImplementations.this)#Event[T]

    Permalink

    Definition Classes
    DefaultImplementations
  15. class Evt[T] extends (Sources.this)#Base[Pulse[T]] with (Sources.this)#Source[T] with (Sources.this)#Event[T]

    Permalink

    Source events with imperative occurrences

    Source events with imperative occurrences

    T

    Type returned when the event fires

    Definition Classes
    Sources
  16. trait Flatten[-A, R] extends AnyRef

    Permalink
    Definition Classes
    FlattenApi
    Annotations
    @implicitNotFound( ... )
  17. trait InitialChange extends AnyRef

    Permalink

    Encapsulates an action changing a single source.

    Encapsulates an action changing a single source.

    Definition Classes
    Core
  18. trait Initializer extends AnyRef

    Permalink
    Definition Classes
    Core
  19. class InnerTicket extends AnyRef

    Permalink

    InnerTickets are used in Rescala to give capabilities to contexts during propagation.

    InnerTickets are used in Rescala to give capabilities to contexts during propagation. ReevTicket is used during reevaluation, and AdmissionTicket during the initialization.

    Definition Classes
    Core
  20. trait Interp[+A] extends ReSource

    Permalink

    Common macro accessors for rescala.operator.SignalBundle.Signal and rescala.operator.EventBundle.Event

    A

    return type of the accessor

    Definition Classes
    Core
  21. trait InterpMacro[+A] extends Interp[A] with MacroAccess[A, Interp[A]]

    Permalink
    Definition Classes
    InterpBundle
  22. sealed trait LowPriorityCreationImplicits extends AnyRef

    Permalink

    If no InnerTicket is found, then these implicits will search for a Scheduler, creating the reactives outside of any turn.

    If no InnerTicket is found, then these implicits will search for a Scheduler, creating the reactives outside of any turn.

    Definition Classes
    Core
  23. trait Observation extends AnyRef

    Permalink
    Definition Classes
    Core
  24. trait Observe extends AnyRef

    Permalink

    Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value.

    Generic interface for observers that represent a function registered to trigger for every reevaluation of a reactive value. Currently this interface is only used to allow a removal of registered observer functions.

    Definition Classes
    Observing
  25. trait ObserveInteract extends Observation

    Permalink
    Definition Classes
    Observing
  26. trait ReSource extends AnyRef

    Permalink

    Source of (reactive) values.

    Source of (reactive) values. State can only be accessed with a correct InnerTicket.

    Definition Classes
    Core
  27. abstract class ReevTicket[V] extends DynamicTicket with Result[V]

    Permalink

    ReevTicket is given to the Derived reevaluate method and allows to access other reactives.

    ReevTicket is given to the Derived reevaluate method and allows to access other reactives. The ticket tracks return values, such as dependencies, the value, and if the value should be propagated. Such usages make it unsuitable as an API for the user, where StaticTicket or DynamicTicket should be used instead.

    Definition Classes
    Core
  28. trait Result[T] extends AnyRef

    Permalink
    Definition Classes
    Core
  29. trait Scheduler extends AnyRef

    Permalink

    Propagation engine that defines the basic data-types available to the user and creates turns for propagation handling

    Propagation engine that defines the basic data-types available to the user and creates turns for propagation handling

    Definition Classes
    Core
    Annotations
    @implicitNotFound( ... )
  30. trait Signal[+T] extends (SignalBundle.this)#Disconnectable with (SignalBundle.this)#SignalCompat[T]

    Permalink

    Time changing value derived from the dependencies.

    Time changing value derived from the dependencies.

    T

    Type stored by the signal

    Definition Classes
    SignalBundle
  31. trait SignalCompat[+T] extends (SignalCompatBundle.this)#InterpMacro[T]

    Permalink
    Definition Classes
    SignalCompatBundle
  32. class SignalImpl[T] extends (DefaultImplementations.this)#DerivedImpl[T] with (DefaultImplementations.this)#Signal[T]

    Permalink

    Definition Classes
    DefaultImplementations
  33. trait Source[T] extends (Sources.this)#ReSource

    Permalink
    Definition Classes
    Sources
  34. abstract type State[_]

    Permalink
    Definition Classes
    Core
  35. sealed abstract class StaticTicket extends InnerTicket

    Permalink

    User facing low level API to access values in a static context.

    User facing low level API to access values in a static context.

    Definition Classes
    Core
  36. class UserDefinedFunction[+T, Dep, Cap] extends AnyRef

    Permalink
    Definition Classes
    SignalCompatBundle
  37. class Var[A] extends (Sources.this)#Base[Pulse[A]] with (Sources.this)#Source[A] with (Sources.this)#Signal[A] with (Sources.this)#Interp[A]

    Permalink

    Source signals with imperatively updates.

    Source signals with imperatively updates.

    A

    Type stored by the signal

    Definition Classes
    Sources

Abstract Value Members

  1. abstract def scheduler: Scheduler

    Permalink

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object CreationTicket extends LowPriorityCreationImplicits

    Permalink

    As reactives can be created during propagation, any InnerTicket can be converted to a creation ticket.

    As reactives can be created during propagation, any InnerTicket can be converted to a creation ticket.

    Definition Classes
    Core
  5. object Event

    Permalink

    Similar to rescala.compat.SignalCompatBundle.Signal expressions, but resulting in an event.

    Similar to rescala.compat.SignalCompatBundle.Signal expressions, but resulting in an event. Accessed events return options depending on whether they fire or not, and the complete result of the expression is an event as well.

    Definition Classes
    EventCompatBundle
    See also

    rescala.compat.SignalCompatBundle.Signal

  6. object Events

    Permalink
    Definition Classes
    EventBundle
  7. final def Evt[A]()(implicit ticket: CreationTicket): Evt[A]

    Permalink

    Definition Classes
    Sources
  8. object Observe

    Permalink
    Definition Classes
    Observing
  9. implicit def OnEv[T](e: Event[T]): OnEv[T]

    Permalink
  10. implicit def OnEvs[T](e: ⇒ Seq[Event[T]]): OnEvs[T]

    Permalink
  11. object Scheduler

    Permalink
    Definition Classes
    Core
  12. object Signal

    Permalink

    A signal expression can be used to create signals accessing arbitrary other signals.

    A signal expression can be used to create signals accessing arbitrary other signals. Use the apply method on a signal to access its value inside of a signal expression.

    val a: Signal[Int]
    val b: Signal[Int]
    val result: Signal[String] = Signal { a().toString + b().toString}
    Definition Classes
    SignalCompatBundle
  13. object Signals

    Permalink

    Functions to construct signals, you probably want to use signal expressions in rescala.interface.RescalaInterface.Signal for a nicer API.

    Functions to construct signals, you probably want to use signal expressions in rescala.interface.RescalaInterface.Signal for a nicer API.

    Definition Classes
    SignalBundle
  14. object UserDefinedFunction

    Permalink
    Definition Classes
    SignalCompatBundle
  15. object Var

    Permalink

    Creates new Vars

    Creates new Vars

    Definition Classes
    Sources
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @throws( ... )
  18. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  20. def firstFiringEvent[B, T[U] <: TraversableLike[U, T[U]], Evnt[A1] <: Event[A1]](implicit ticket: CreationTicket, cbf: CanBuildFrom[T[_], Option[B], T[Option[B]]]): Flatten[Signal[T[Evnt[B]]], Event[B]]

    Permalink

    Flatten a Signal[Traversable[Event[B]\]\] into a Event[B].

    Flatten a Signal[Traversable[Event[B]\]\] into a Event[B]. The new Event fires the value of any inner firing Event. If multiple inner Events fire, the first one in iteration order is selected.

    Definition Classes
    FlattenCollectionCompat
  21. implicit def flattenImplicitForarraySignals[B, Sig[U] <: Signal[U]](implicit arg0: ClassTag[B], ticket: CreationTicket): Flatten[Signal[Array[Sig[B]]], Signal[Array[B]]]

    Permalink

    Flatten a Signal[Array[Signal[B]\]\] into a Signal[Array[B]\] where the new Signal updates whenever any of the inner or the outer signal updates

    Flatten a Signal[Array[Signal[B]\]\] into a Signal[Array[B]\] where the new Signal updates whenever any of the inner or the outer signal updates

    Definition Classes
    FlattenApi
  22. implicit def flattenImplicitForevent[A, B, Evnt[A1] <: Event[A1]](implicit ticket: CreationTicket): Flatten[Signal[Evnt[B]], Event[B]]

    Permalink

    Flatten a Signal[Event[B]]\] into a Event[B] where the new Event fires whenever the current inner event fires

    Flatten a Signal[Event[B]]\] into a Event[B] where the new Event fires whenever the current inner event fires

    Definition Classes
    FlattenApi
  23. implicit def flattenImplicitForoption[A, B](implicit ticket: CreationTicket): Flatten[Event[Option[B]], Event[B]]

    Permalink

    Flatten a Event[Option[B]\] into a Event[B] that fires whenever the inner option is defined.

    Flatten a Event[Option[B]\] into a Event[B] that fires whenever the inner option is defined.

    Definition Classes
    FlattenApi
  24. implicit def flattenImplicitForoptionSignal[B, Sig[U] <: Signal[U]](implicit ticket: CreationTicket): Flatten[Signal[Option[Sig[B]]], Signal[Option[B]]]

    Permalink

    Flatten a Signal[Option[Signal[B]\]\] into a Signal[Option[B]\] where the new Signal updates whenever any of the inner or the outer signal updates

    Flatten a Signal[Option[Signal[B]\]\] into a Signal[Option[B]\] where the new Signal updates whenever any of the inner or the outer signal updates

    Definition Classes
    FlattenApi
  25. implicit def flattenImplicitForsignal[B](implicit ticket: CreationTicket): Flatten[Signal[Signal[B]], Signal[B]]

    Permalink

    Flatten a Signal[Signal[B]\] into a Signal[B] that changes whenever the outer or inner signal changes.

    Flatten a Signal[Signal[B]\] into a Signal[B] that changes whenever the outer or inner signal changes.

    Definition Classes
    FlattenApi
  26. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate()
  27. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate()
  28. implicit def implicitScheduler: Scheduler

    Permalink

  29. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  30. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate()
  32. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate()
  33. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  34. def toString(): String

    Permalink
    Definition Classes
    RescalaInterface → AnyRef → Any
  35. def transaction[R](initialWrites: ReSource*)(admissionPhase: (AdmissionTicket) ⇒ R): R

    Permalink

    Executes a transaction.

    Executes a transaction.

    R

    Result type of the admission function

    initialWrites

    All inputs that might be changed by the transaction

    admissionPhase

    An admission function that may rescala.operator.Sources.Evt.admit / rescala.operator.Sources.Var.admit arbitrary input changes that will be applied as an atomic transaction at the end.

    returns

    Result of the admission function

    Example:
    1. transaction(a, b){ implicit at => a.set(5); b.set(1); at.now(a) }

  36. def transactionWithWrapup[I, R](initialWrites: ReSource*)(admissionPhase: (AdmissionTicket) ⇒ I)(wrapUpPhase: (I, AccessTicket) ⇒ R): R

    Permalink

    Executes a transaction with WrapUpPhase.

    Executes a transaction with WrapUpPhase.

    See also

    transaction

  37. def traversableOfAllOccuringEventValues[B, T[U] <: TraversableLike[U, T[U]], Evnt[A1] <: Event[A1]](implicit ticket: CreationTicket, cbf: CanBuildFrom[T[_], Option[B], T[Option[B]]]): Flatten[Signal[T[Evnt[B]]], Event[T[Option[B]]]]

    Permalink

    Flatten a Signal[Traversable[Event[B]\]\] into a Event[Traversable[Option[B]\]\] where the new Event fires whenever any of the inner events fire

    Flatten a Signal[Traversable[Event[B]\]\] into a Event[Traversable[Option[B]\]\] where the new Event fires whenever any of the inner events fire

    Definition Classes
    FlattenCollectionCompat
  38. implicit def traversableSignals[B, T[U] <: TraversableLike[U, T[U]], Sig[A1] <: Signal[A1]](implicit ticket: CreationTicket, cbf: CanBuildFrom[T[_], B, T[B]]): Flatten[Signal[T[Sig[B]]], Signal[T[B]]]

    Permalink

    Flatten a Signal[Traversable[Signal[B]\]\] into a Signal[Traversable[B]\] where the new Signal updates whenever any of the inner or the outer signal updates

    Flatten a Signal[Traversable[Signal[B]\]\] into a Signal[Traversable[B]\] where the new Signal updates whenever any of the inner or the outer signal updates

    Definition Classes
    FlattenCollectionCompat
  39. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  41. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from SignalCompatBundle

Inherited from Observing

Inherited from DefaultImplementations

Inherited from Sources

Inherited from FlattenApi

Inherited from FlattenCollectionCompat

Inherited from SignalBundle

Inherited from EventBundle

Inherited from EventCompatBundle

Inherited from InterpBundle

Inherited from Core

Inherited from AnyRef

Inherited from Any

Create new reactives

Update multiple reactives

Advanced functions used when extending REScala

Methods and type aliases for advanced usages, these are most relevant to abstract over multiple scheduler implementations.

Ungrouped