reactify
package reactify
- Alphabetic
- By Inheritance
- reactify
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- class AbstractState [T] extends State[T]
-
trait
ChangeObserver
[T] extends AnyRef
Convenience functionality for classic change management referencing the old value along with the new value.
Convenience functionality for classic change management referencing the old value along with the new value.
- T
the type of changes
- trait Channel [T] extends Observable[T]
-
class
Dep
[T, V] extends StateChannel[T]
Dep is very much like a
Val
, but is also aChannel
.Dep is very much like a
Val
, but is also aChannel
. The basic purpose is to represent a value dependent upon another variable. An example of this might be if you are representing a positionleft
and you also wanted to representright
as well (which would beleft
+width
). These two variables are dependent upon each other and don't fit well asVar
s. An example usage might be:val left: Var[Double] = Var(0.0) val width: Var[Double] = Var(0.0) val right: Dep[Double, Double] = Dep(left, width)
If an instance is
submissive
it removesadjustment
from being part of the mutation dependency. For example: in the above scenario if you setwidth
to 100.0 andright
to 125.0 thenleft
will be 25.0. Now, what should happen if you changewidth
to 50.0? Shouldleft
change to 75.0 (submissive = false
) or shouldright
change to 75.0 (submissive = true
)? - trait DepConnector [T, V] extends AnyRef
- trait DirtyState [T] extends AbstractState[T]
- class Invocation extends AnyRef
- sealed trait InvocationType extends AnyRef
-
implicit
class
ListStateChannel
[T] extends AnyRef
Syntactic sugar for mutating collections in a
StateChannel
-
trait
Observable
[T] extends AnyRef
Observable, as the name suggests, observes values being fired against it.
Observable, as the name suggests, observes values being fired against it. This is the core functionality of Reactify and provides the infrastructure used by Channel, Val, Var, Prop, and Dep.
- T
the type of value this Observable will receive
- trait Observer [T] extends Ordered[Observer[T]]
- trait State [T] extends Observable[T]
- trait StateChannel [T] extends State[T] with Channel[T]
- class Transaction extends AnyRef
- class TransactionApplier [T] extends AnyRef
- case class TransformResult [T] extends Product with Serializable
-
trait
TransformableChannel
[T] extends Channel[T]
TransformableChannel extends from Channel to provide transforming capabilities before observers are invoked.
TransformableChannel extends from Channel to provide transforming capabilities before observers are invoked.
- T
the channel's type
- case class TransformableValue [T](value: T) extends Product with Serializable
- trait TransformingObserver [T] extends Ordered[TransformingObserver[T]]
-
class
Trigger
extends AnyRef
Trigger works very similar to
Channel
except it doesn't receive anything.Trigger works very similar to
Channel
except it doesn't receive anything.Observers
are attached like on anObservable
, but they receive no arguments. -
class
Val
[T] extends AbstractState[T]
Val, as the name suggests, is like a Scala
val
.Val, as the name suggests, is like a Scala
val
. This represents an immutable value that is set in the first place and then not modified. However, since the value set may be built fromObservables
, the generated value may change over time as its dependencies are modified. This class isObservable
and will only fire changes if the underlying value is derived from one or moreObservables
.- T
the type of value retained by this
State
-
class
Var
[T] extends Val[T] with StateChannel[T]
Var, as the name suggests, is very similar to a Scala
var
.Var, as the name suggests, is very similar to a Scala
var
. The value is defined during instantiation, but may be modified later. The value may be a static value, or may be a derived value depending on multipleObservables
. IfObservables
make up the value they will be monitored and events fired on thisObservable
as the value changes.- T
the type of value this channel receives
- implicit class VectorStateChannel [T] extends AnyRef
- class WrappedObservable [T] extends Observable[T]
Value Members
- implicit val doubleConnector: DepConnector[Double, Double]
- implicit def function2Observer[T](f: (T) ⇒ Unit): Observer[T]
- implicit val intConnector: DepConnector[Int, Int]
-
implicit
def
state2Value[T](p: State[T]): T
Converts a
State[T]
toT
implicitly.Converts a
State[T]
toT
implicitly. This is useful for DSL type-based operations like5 + stateVar
. - object ChangeObserver
- object Channel
- object Dep
- object Invocation
- object InvocationType
- object Observable
- object Observer
- object Transaction
- object TransformableChannel
- object TransformingObserver
- object Trigger
- object Val
- object Var