trait SeqProperty[A, +ElemType <: single.Property[A]] extends ReadableSeqProperty[A, ElemType] with single.Property[com.avsystem.commons.BSeq[A]]
- Alphabetic
- By Inheritance
- SeqProperty
- Property
- ReadableSeqProperty
- ReadableProperty
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def appendSeq(values: com.avsystem.commons.BSeq[A]): Unit
Adds
values
at the end of the sequence. - abstract def bitransform[B](transformer: (com.avsystem.commons.BSeq[A]) => B)(revert: (B) => com.avsystem.commons.BSeq[A]): single.Property[B]
Creates Property[B] linked to
this
.Creates Property[B] linked to
this
. Changes will be bidirectionally synchronized betweenthis
and new property.- B
Type of new Property.
- transformer
Method transforming type A of existing Property to type B of new Property.
- revert
Method transforming type B of new Property to type A of existing Property.
- returns
New Property[B], which will be synchronised with original Property[A].
- Definition Classes
- Property
- abstract def bitransformElements[B](transformer: (A) => B)(revert: (B) => A): SeqProperty[B, single.Property[B]]
Creates SeqProperty[B] linked to
this
.Creates SeqProperty[B] linked to
this
. Changes will be bidirectionally synchronized betweenthis
and new property. Prefer this tobitransform
whenever you don't need the whole sequence to perform the transformation.- returns
New SeqProperty[B], which will be synchronised with original SeqProperty[A].
- abstract def bitransformToSeq[B](transformer: (com.avsystem.commons.BSeq[A]) => com.avsystem.commons.BSeq[B])(revert: (com.avsystem.commons.BSeq[B]) => com.avsystem.commons.BSeq[A])(implicit arg0: PropertyCreator[B]): SeqProperty[B, single.Property[B]]
Creates SeqProperty[B] linked to
this
.Creates SeqProperty[B] linked to
this
. Changes will be synchronized withthis
in both directions.- B
Type of elements in new SeqProperty.
- transformer
Method transforming type A of existing Property to type Seq[B] of new Property.
- revert
Method transforming type Seq[B] to A.
- returns
New ReadableSeqProperty[B], which will be synchronised with original Property[A].
- Definition Classes
- Property
- abstract def clear(): Unit
Removes all elements from this SeqProperty.
- abstract def clearListeners(): Unit
Removes all listeners from property.
Removes all listeners from property.
- Definition Classes
- Property
- abstract def elemProperties: com.avsystem.commons.BSeq[ElemType]
- returns
Sequence of child properties.
- Definition Classes
- ReadableSeqProperty
- abstract def filter(matcher: (A) => Boolean): ReadableSeqProperty[A, ElemType]
Filters ReadableSeqProperty[A].
Filters ReadableSeqProperty[A].
- returns
New ReadableSeqProperty[A] with matched elements, which will be synchronised with original ReadableSeqProperty[A].
- Definition Classes
- ReadableSeqProperty
- abstract def get: com.avsystem.commons.BSeq[A]
- returns
Current property value.
- Definition Classes
- ReadableProperty
- abstract def insertSeq(idx: Int, values: com.avsystem.commons.BSeq[A]): Unit
Inserts
values
on indexidx
. - abstract def listen(valueListener: (com.avsystem.commons.BSeq[A]) => Any, initUpdate: Boolean = false): utils.Registration
Registers listener which will be called on value change.
Registers listener which will be called on value change.
- initUpdate
If
true
, listener will be instantly triggered with current value of property.
- Definition Classes
- ReadableProperty
- abstract def listenOnce(valueListener: (com.avsystem.commons.BSeq[A]) => Any): utils.Registration
Registers listener which will be called on the next value change.
Registers listener which will be called on the next value change. This listener will be fired only once.
- Definition Classes
- ReadableProperty
- abstract def listenStructure(structureListener: (Patch[ElemType]) => Any): utils.Registration
Registers listener, which will be called on every property structure change.
Registers listener, which will be called on every property structure change.
- Definition Classes
- ReadableSeqProperty
- abstract def listenersCount(): Int
Returns listeners count.
Returns listeners count.
- Definition Classes
- ReadableProperty
- abstract def listenersUpdate(): Unit
This method should be called when the listener is registered or removed.
This method should be called when the listener is registered or removed.
- Attributes
- protected[properties]
- Definition Classes
- ReadableProperty
- abstract def prependSeq(values: com.avsystem.commons.BSeq[A]): Unit
Adds
values
at the begging of the sequence. - abstract def remove(value: A): Unit
Removes first occurrence of
value
. - abstract def remove(idx: Int, amount: Int): Unit
Removes
amount
elements starting from indexidx
. - abstract def replaceSeq(idx: Int, amount: Int, values: com.avsystem.commons.BSeq[A]): Unit
Replaces
amount
elements from indexidx
with providedvalues
. - abstract def reversed(): SeqProperty[A, single.Property[A]]
Creates
SeqProperty[A]
providing reversed order of elements fromthis
.Creates
SeqProperty[A]
providing reversed order of elements fromthis
.- Definition Classes
- SeqProperty → ReadableSeqProperty
- abstract def set(t: com.avsystem.commons.BSeq[A], force: Boolean = false): Unit
Changes current property value.
Changes current property value. Fires value change listeners.
- t
Should not be null!
- force
If true, the value change listeners will be fired even if value didn't change.
- Definition Classes
- Property
- abstract def setInitValue(t: com.avsystem.commons.BSeq[A]): Unit
Changes current property value.
Changes current property value. Does not fire value change listeners.
- Definition Classes
- Property
- abstract def streamTo[B](target: single.Property[B], initUpdate: Boolean = true)(transformer: (com.avsystem.commons.BSeq[A]) => B): utils.Registration
Streams value changes to the
target
property.Streams value changes to the
target
property. It is not as strong relation astransform
, becausetarget
can change value independently.- Definition Classes
- ReadableProperty
- abstract def structureListenersCount(): Int
Returns structure listeners count.
Returns structure listeners count.
- Definition Classes
- ReadableSeqProperty
- abstract def sync[B](p: single.Property[B])(transformer: (com.avsystem.commons.BSeq[A]) => B, revert: (B) => com.avsystem.commons.BSeq[A]): utils.Registration
Bidirectionally synchronizes Property[B] with
this
.Bidirectionally synchronizes Property[B] with
this
. The transformed value is synchronized fromthis
to Property[B] on initialization.- B
Type of new Property.
- p
Property to be synchronized with
this
.- transformer
Method transforming type A of existing Property to type B of new Property.
- revert
Method transforming type B of new Property to type A of existing Property.
- returns
Bidirectional registration between existing and new property.
- Definition Classes
- Property
- abstract def touch(): Unit
Fires value change listeners with current value.
Fires value change listeners with current value.
- Definition Classes
- Property
- abstract def transform[B](transformer: (com.avsystem.commons.BSeq[A]) => B): single.ReadableProperty[B]
Creates ReadableProperty[B] linked to
this
.Creates ReadableProperty[B] linked to
this
. Changes will be synchronized withthis
.- B
Type of new Property.
- transformer
Method transforming type A of existing Property to type B of new Property.
- returns
New ReadableProperty[B], which will be synchronised with original ReadableProperty[A].
- Definition Classes
- ReadableProperty
- abstract def transformElements[B](transformer: (A) => B): ReadableSeqProperty[B, single.ReadableProperty[B]]
Transforms ReadableSeqProperty[A] into ReadableSeqProperty[B] element by element.
Transforms ReadableSeqProperty[A] into ReadableSeqProperty[B] element by element. Prefer this to
transform
whenever you don't need the whole sequence to perform the transformation.- returns
New ReadableSeqProperty[B], which will be synchronised with original ReadableSeqProperty[A].
- Definition Classes
- ReadableSeqProperty
- abstract def transformToSeq[B](transformer: (com.avsystem.commons.BSeq[A]) => com.avsystem.commons.BSeq[B])(implicit arg0: PropertyCreator[B]): ReadableSeqProperty[B, single.ReadableProperty[B]]
Creates ReadableSeqProperty[B] linked to
this
.Creates ReadableSeqProperty[B] linked to
this
. Changes will be synchronized withthis
.- B
Type of elements in new SeqProperty.
- transformer
Method transforming type A of existing Property to type Seq[B] of new Property.
- returns
New ReadableSeqProperty[B], which will be synchronised with original ReadableProperty[A].
- Definition Classes
- ReadableProperty
- abstract def valueChanged(): Unit
This method should be called when the value has changed.
This method should be called when the value has changed.
- Attributes
- protected[properties]
- Definition Classes
- ReadableProperty
- abstract def zipWithIndex: ReadableSeqProperty[(A, Int), single.ReadableProperty[(A, Int)]]
Zips elements from
this
SeqProperty with their indexes.Zips elements from
this
SeqProperty with their indexes.- Definition Classes
- ReadableSeqProperty
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def append(values: A*): Unit
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def combine[B, O](property: single.ReadableProperty[B])(combiner: (com.avsystem.commons.BSeq[A], B) => O): single.ReadableProperty[O]
Combines two properties into a new one.
Combines two properties into a new one. Created property will be updated after any change in the origin ones.
- B
Type of elements in provided property.
- O
Output property elements type.
- property
Property[B]
to combine withthis
.- combiner
Method combining values A and B into O.
- returns
Property[O] updated on any change in
this
orproperty
.
- Definition Classes
- ReadableProperty
- def combineElements[B, O](property: single.ReadableProperty[B])(combiner: (A, B) => O): ReadableSeqProperty[O, single.ReadableProperty[O]]
Combines every element of this
SeqProperty
with providedProperty
creating newReadableSeqProperty
as the result.Combines every element of this
SeqProperty
with providedProperty
creating newReadableSeqProperty
as the result.- Definition Classes
- ReadableSeqProperty
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def insert(idx: Int, values: A*): Unit
- def isEmpty: Boolean
Tests whether this traversable collection is empty.
Tests whether this traversable collection is empty.
- Definition Classes
- ReadableSeqProperty
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def length: Int
The size of this sequence.
The size of this sequence.
- Definition Classes
- ReadableSeqProperty
- def mirror[B >: com.avsystem.commons.BSeq[A]]()(implicit arg0: PropertyCreator[B]): MirrorProperty[B]
Creates a mutable copy of this property which follows the stream of updates from this property.
Creates a mutable copy of this property which follows the stream of updates from this property. Similarly to streamTo, the target can change value independently and origin value updates can be cancelled.
- Definition Classes
- ReadableProperty
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def nonEmpty: Boolean
Tests whether this traversable collection is not empty.
Tests whether this traversable collection is not empty.
- Definition Classes
- ReadableSeqProperty
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def prepend(values: A*): Unit
- final def replace(idx: Int, amount: Int, values: A*): Unit
- def size: Int
The size of this sequence, equivalent to length.
The size of this sequence, equivalent to length.
- Definition Classes
- ReadableSeqProperty
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def zip[B, O](property: ReadableSeqProperty[B, single.ReadableProperty[B]])(combiner: (A, B) => O): ReadableSeqProperty[O, single.ReadableProperty[O]]
Zips elements from
this
and providedproperty
by combining every pair using providedcombiner
.Zips elements from
this
and providedproperty
by combining every pair using providedcombiner
.- Definition Classes
- ReadableSeqProperty
- def zipAll[B, A1 >: A, O](property: ReadableSeqProperty[B, single.ReadableProperty[B]])(combiner: (A1, B) => O, defaultA: single.ReadableProperty[A1], defaultB: single.ReadableProperty[B]): ReadableSeqProperty[O, single.ReadableProperty[O]]
Zips elements from
this
and providedproperty
by combining every pair using providedcombiner
.Zips elements from
this
and providedproperty
by combining every pair using providedcombiner
. UsesdefaultA
anddefaultB
to fill smaller sequence.- Definition Classes
- ReadableSeqProperty