Interface FlowFactory
-
- All Known Implementing Classes:
RealmFlowFactory
public interface FlowFactory
Factory interface for creating KotlinFlow
s for Realm classes.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description kotlinx.coroutines.flow.Flow<ObjectChange<DynamicRealmObject>>
changesetFrom(DynamicRealm dynamicRealm, DynamicRealmObject dynamicRealmObject)
Creates aFlow
for aDynamicRealmObject
.<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmList<T>>>
changesetFrom(DynamicRealm dynamicRealm, RealmList<T> list)
Creates aFlow
for aRealmList
.<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmResults<T>>>
changesetFrom(DynamicRealm dynamicRealm, RealmResults<T> results)
Creates aFlow
for aRealmResults
instance.<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmList<T>>>
changesetFrom(Realm realm, RealmList<T> list)
Creates aFlow
for aRealmList
.<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmResults<T>>>
changesetFrom(Realm realm, RealmResults<T> results)
Creates aFlow
for aRealmResults
instance.<T extends RealmModel>
kotlinx.coroutines.flow.Flow<ObjectChange<T>>changesetFrom(Realm realm, T realmObject)
Creates aFlow
for aRealmObject
.kotlinx.coroutines.flow.Flow<DynamicRealm>
from(DynamicRealm dynamicRealm)
Creates aFlow
for aDynamicRealm
.kotlinx.coroutines.flow.Flow<DynamicRealmObject>
from(DynamicRealm dynamicRealm, DynamicRealmObject dynamicRealmObject)
Creates aFlow
for aDynamicRealmObject
.<T> kotlinx.coroutines.flow.Flow<RealmList<T>>
from(DynamicRealm dynamicRealm, RealmList<T> realmList)
Creates aFlow
for aRealmList
.<T> kotlinx.coroutines.flow.Flow<RealmResults<T>>
from(DynamicRealm dynamicRealm, RealmResults<T> results)
Creates aFlow
for aRealmResults
.kotlinx.coroutines.flow.Flow<Realm>
from(Realm realm)
Creates aFlow
for aRealm
.<T> kotlinx.coroutines.flow.Flow<RealmList<T>>
from(Realm realm, RealmList<T> realmList)
Creates aFlow
for aRealmList
.<T> kotlinx.coroutines.flow.Flow<RealmResults<T>>
from(Realm realm, RealmResults<T> results)
Creates aFlow
for aRealmResults
.<T extends RealmModel>
kotlinx.coroutines.flow.Flow<T>from(Realm realm, T realmObject)
Creates aFlow
for aRealmObject
.
-
-
-
Method Detail
-
from
kotlinx.coroutines.flow.Flow<Realm> from(@Nonnull Realm realm)
Creates aFlow
for aRealm
. It should emit the initial state of the Realm when subscribed to and on each subsequent update of the Realm.- Parameters:
realm
-Realm
instance being observed for changes to be emitted by the flow.- Returns:
- Flow that emits all updates to the Realm.
-
from
kotlinx.coroutines.flow.Flow<DynamicRealm> from(@Nonnull DynamicRealm dynamicRealm)
Creates aFlow
for aDynamicRealm
. It should emit the initial state of the Realm when subscribed to and on each subsequent update of the Realm.- Parameters:
dynamicRealm
-DynamicRealm
instance being observed for changes to be emitted by the flow.- Returns:
- Flow that emits all updates to the Realm.
-
from
<T> kotlinx.coroutines.flow.Flow<RealmResults<T>> from(@Nonnull Realm realm, @Nonnull RealmResults<T> results)
Creates aFlow
for aRealmResults
. It should emit the initial RealmResult when subscribed to and on each subsequent update of the RealmResults.- Type Parameters:
T
- type of RealmObject.- Parameters:
results
-RealmResults
instance being observed for changes to be emitted by the flow.realm
-Realm
instance from where the results are coming.- Returns:
Flow
that emits all updates to the RealmObject.
-
changesetFrom
<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmResults<T>>> changesetFrom(@Nonnull Realm realm, @Nonnull RealmResults<T> results)
Creates aFlow
for aRealmResults
instance. It should emit the initial results when subscribed to and on each subsequent update of the results it should emit the results plus theCollectionChange
that describes the update.Changeset observables do not support backpressure as a changeset depends on the state of the previous changeset. Handling backpressure should therefore be left to the user.
- Parameters:
realm
-Realm
instance from where the object is coming.results
-RealmResults
instance being observed for changes to be emitted by the flow.- Returns:
Flow
that emits all updates to the RealmResults.
-
from
<T> kotlinx.coroutines.flow.Flow<RealmResults<T>> from(@Nonnull DynamicRealm dynamicRealm, @Nonnull RealmResults<T> results)
Creates aFlow
for aRealmResults
. It should emit the initial RealmResult when subscribed to and on each subsequent update of the RealmResults.- Type Parameters:
T
- type of RealmObject.- Parameters:
results
-RealmResults
instance being observed for changes to be emitted by the flow.dynamicRealm
-DynamicRealm
instance from where the results are coming.- Returns:
Flow
that emits all updates to the RealmObject.
-
changesetFrom
<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmResults<T>>> changesetFrom(@Nonnull DynamicRealm dynamicRealm, @Nonnull RealmResults<T> results)
Creates aFlow
for aRealmResults
instance. It should emit the initial results when subscribed to and on each subsequent update of the results it should emit the results plus theCollectionChange
that describes the update.Changeset observables do not support backpressure as a changeset depends on the state of the previous changeset. Handling backpressure should therefore be left to the user.
- Parameters:
dynamicRealm
-DynamicRealm
instance from where the object is coming.results
-RealmResults
instance being observed for changes to be emitted by the flow.- Returns:
Flow
that emits all updates to the RealmResults.
-
from
<T> kotlinx.coroutines.flow.Flow<RealmList<T>> from(@Nonnull Realm realm, @Nonnull RealmList<T> realmList)
Creates aFlow
for aRealmList
. It should emit the initial RealmResult when subscribed to and on each subsequent update of the RealmList.Note:
RealmChangeListener
is currently not supported on RealmLists.
-
changesetFrom
<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmList<T>>> changesetFrom(@Nonnull Realm realm, @Nonnull RealmList<T> list)
Creates aFlow
for aRealmList
. It should emit the initial list when subscribed to and on each subsequent update of the list it should emit the list plus theCollectionChange
that describes the update.Changeset observables do not support backpressure as a changeset depends on the state of the previous changeset. Handling backpressure should therefore be left to the user.
-
from
<T> kotlinx.coroutines.flow.Flow<RealmList<T>> from(@Nonnull DynamicRealm dynamicRealm, @Nonnull RealmList<T> realmList)
Creates aFlow
for aRealmList
. It should emit the initial RealmResult when subscribed to and on each subsequent update of the RealmList.Note:
RealmChangeListener
is currently not supported on RealmLists.- Type Parameters:
T
- type of RealmObject- Parameters:
realmList
-RealmList
instance being observed for changes to be emitted by the flow.dynamicRealm
-DynamicRealm
instance from where the results are coming.- Returns:
Flow
that emit all updates to the RealmList.
-
changesetFrom
<T> kotlinx.coroutines.flow.Flow<CollectionChange<RealmList<T>>> changesetFrom(@Nonnull DynamicRealm dynamicRealm, @Nonnull RealmList<T> list)
Creates aFlow
for aRealmList
. It should emit the initial list when subscribed to and on each subsequent update of the list it should emit the list plus theCollectionChange
that describes the update.Changeset observables do not support backpressure as a changeset depends on the state of the previous changeset. Handling backpressure should therefore be left to the user.
- Parameters:
dynamicRealm
-DynamicRealm
instance from where the object is coming.list
-RealmList
instance being observed for changes to be emitted by the flow.- Returns:
Flow
that emits all updates to the RealmList.
-
from
<T extends RealmModel> kotlinx.coroutines.flow.Flow<T> from(@Nonnull Realm realm, @Nonnull T realmObject)
Creates aFlow
for aRealmObject
. It should emit the initial object when subscribed to and on each subsequent update of the object.- Type Parameters:
T
- type of query target- Parameters:
realmObject
-RealmObject
instance being observed for changes to be emitted by the flow.realm
-Realm
instance from where the object is coming.- Returns:
Flow
that emits all updates to the DynamicRealmObject.
-
changesetFrom
<T extends RealmModel> kotlinx.coroutines.flow.Flow<ObjectChange<T>> changesetFrom(@Nonnull Realm realm, @Nonnull T realmObject)
Creates aFlow
for aRealmObject
. It should emit the initial object when subscribed to and on each subsequent update of the object it should emit the object plus theObjectChangeSet
that describes the update.Changeset observables do not support backpressure as a changeset depends on the state of the previous changeset. Handling backpressure should therefore be left to the user.
- Parameters:
realm
-Realm
instance from where the object is coming.realmObject
-RealmObject
instance being observed for changes to be emitted by the flow.- Returns:
Flow
that emits all updates to the DynamicRealmObject.
-
from
kotlinx.coroutines.flow.Flow<DynamicRealmObject> from(@Nonnull DynamicRealm dynamicRealm, @Nonnull DynamicRealmObject dynamicRealmObject)
Creates aFlow
for aDynamicRealmObject
. It should emit the initial object when subscribed to and on each subsequent update of the object.- Parameters:
dynamicRealm
-DynamicRealm
instance from where the object is coming.dynamicRealmObject
-DynamicRealmObject
instance being observed for changes to be emitted by the flow.- Returns:
Flow
that emits all updates to the DynamicRealmObject.
-
changesetFrom
kotlinx.coroutines.flow.Flow<ObjectChange<DynamicRealmObject>> changesetFrom(@Nonnull DynamicRealm dynamicRealm, @Nonnull DynamicRealmObject dynamicRealmObject)
Creates aFlow
for aDynamicRealmObject
. It should emit the initial object when subscribed to and on each subsequent update of the object it should emit the object plus theObjectChangeSet
that describes the update.Changeset observables do not support backpressure as a changeset depends on the state of the previous changeset. Handling backpressure should therefore be left to the user.
- Parameters:
dynamicRealm
-DynamicRealm
instance from where the object is coming.dynamicRealmObject
-DynamicRealmObject
instance being observed for changes to be emitted by the flow.- Returns:
Flow
that emits all updates to the DynamicRealmObject.
-
-