Package io.objectbox.reactive
Class SubscriptionBuilder.ActionObserver
java.lang.Object
io.objectbox.reactive.SubscriptionBuilder.ActionObserver
- All Implemented Interfaces:
DataObserver<T>,DelegatingObserver<T>
- Enclosing class:
SubscriptionBuilder<T>
class SubscriptionBuilder.ActionObserver
extends Object
implements DataObserver<T>, DelegatingObserver<T>
Wraps a
DataObserver supplied to SubscriptionBuilder.observer(DataObserver) to support result
transformation, an error observer or scheduler for result delivery.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) class(package private) class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidcallOnData(T data) private voidcallOnError(Throwable th, String msgNoErrorObserver) voidCalled when data changed.private voidtransformAndContinue(T data) Runs on the thread of theonData(Object)caller to ensure data is delivered in the same order asonData(Object)was called, to prevent delivering stale data.
-
Field Details
-
subscription
-
schedulerRunOnError
-
schedulerRunOnData
-
-
Constructor Details
-
ActionObserver
-
-
Method Details
-
onData
Description copied from interface:DataObserverCalled when data changed.Exception note: if this method throws an exception, it can be reacted on via
SubscriptionBuilder.onError(ErrorObserver).- Specified by:
onDatain interfaceDataObserver<T>
-
transformAndContinue
Runs on the thread of theonData(Object)caller to ensure data is delivered in the same order asonData(Object)was called, to prevent delivering stale data.For both ObjectClassPublisher and QueryPublisher this is the asynchronous thread publish requests are processed on.
This could be optimized in the future to allow parallel execution, but this would require an ordering mechanism for the transformed data.
-
callOnError
-
callOnData
-
getObserverDelegate
- Specified by:
getObserverDelegatein interfaceDelegatingObserver<T>
-