ObservableMutableList

class ObservableMutableList<T> @JvmOverloads constructor(initial: Iterable<T> = emptyList()) : AbstractObservable<List<T>> , ObservableList<T> (source)

A mutable observable list implementation, which allows for observing changes to the list and provides notifications when its contents are modified. This class supports addition, removal, updates, and observation of modifications to the list.

Parameters

initial

The elements this list initially contains.

Type Parameters

T

The type of elements maintained by this list.

Constructors

Link copied to clipboard
constructor(initial: Iterable<T> = emptyList())

Types

Link copied to clipboard
object Companion

A companion object for the ObservableMutableList class, providing handy factories.

Properties

Link copied to clipboard
open override val current: List<T>

The current value: while observed, the latest value published; otherwise, a freshly computed one. Observables holding their own state may read it directly.

Link copied to clipboard
Link copied to clipboard
override val observerCount: Int
Link copied to clipboard
open override val size: Observable<Int>

Functions

Link copied to clipboard
fun add(item: T): Boolean

Adds an item to the observable list. Observers of the list will be notified of the change.

fun add(index: Int, item: T)

Adds an item at the specified index. Observers of the list will be notified of the change.

Link copied to clipboard
fun addAll(items: Collection<T>): Boolean

Appends all of the elements in the specified collection to the end of this list.

Link copied to clipboard
fun clear()

Removes all of the elements from this list.

Link copied to clipboard
fun <T, R, O> ObservableList<T>.combineLatest(transformer: (T) -> Observable<R>, aggregator: (List<R>) -> O): Observable<O>

Combines the content of an ObservableList into a single observable by applying a mapping function to each element and aggregating the results.

Link copied to clipboard
fun <T> Observable<Option<T>>.currentOrNull(): T?

Retrieves the current value of the observable if present, or null if no value is available.

Link copied to clipboard
open override fun dispose()
Link copied to clipboard
fun <T, O> ObservableList<T>.flatMap(transformer: (T) -> Observable<O>): Observable<Option<O>>

Transforms an ObservableList of type T into a single Observable of type arrow.core.Option<O> by fusing the individual observables obtained from each item in the list.

Link copied to clipboard

Converts this ObservableList of observables into a unique observable.

Link copied to clipboard
open override fun <S> map(transform: (List<T>) -> S): Observable<S>
Link copied to clipboard
open override fun <O, R> mergeWith(other: Observable<O>, merge: (List<T>, O) -> R): Observable<R>
Link copied to clipboard
open override fun onChange(notifyOnRegistration: Boolean, callback: (List<T>) -> Unit): Disposable
Link copied to clipboard
fun remove(item: T): Boolean

Removes the first occurrence of the specified item from the observable list, if it is present. If the list changes, observers will be notified.

Link copied to clipboard
fun removeAll(predicate: (T) -> Boolean): Boolean

Removes all the elements satisfying predicate from the observable list. If the list changes, observers will be notified once.

Link copied to clipboard
fun removeAt(index: Int): T

Removes the element at the specified position in this list.

Link copied to clipboard
operator fun set(index: Int, element: T): T

Replaces the element at the specified position in this list with the specified element.

Link copied to clipboard
fun <T, R> Observable<T>.switchMap(transform: (T) -> Observable<R>): Observable<R>

Maps the current value of this Observable to an inner observable through transform, and mirrors the inner observable of the most recent value only: whenever this observable emits, the previous inner observable is unsubscribed and the new one is followed.