Class OperatorMerge<T>
- Type Parameters:
T
- the type of the items emitted by both the source and mergedObservable
s
- All Implemented Interfaces:
Func1<Subscriber<? super T>,
,Subscriber<? super Observable<? extends T>>> Function
,Observable.Operator<T,
Observable<? extends T>>
Observable
s into one Observable
, without any transformation.
You can combine the items emitted by multiple Observable
s so that they act like a single Observable
, by using the merge operation.
The instance(true)
call behaves like OperatorMerge
except that if any of the merged Observables notify of
an error via onError
, mergeDelayError
will refrain from propagating that error
notification until all of the merged Observables have finished emitting items.
Even if multiple merged Observables send onError
notifications, mergeDelayError
will
only invoke the onError
method of its Observers once.
This operation allows an Observer to receive all successfully emitted items from all of the source Observables without being interrupted by an error notification from one of them.
Note: If this is used on an Observable that never completes, it will never call onError
and will effectively swallow errors.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static final class
Lazy initialization via inner-class holder.(package private) static final class
Lazy initialization via inner-class holder.(package private) static final class
(package private) static final class
(package private) static final class
The subscriber that observes Observables. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final boolean
(package private) final int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSubscriber
<Observable<? extends T>> call
(Subscriber<? super T> child) static <T> OperatorMerge
<T> instance
(boolean delayErrors) static <T> OperatorMerge
<T> instance
(boolean delayErrors, int maxConcurrent) Creates a new instance of the operator with the given delayError and maxConcurrency settings.
-
Field Details
-
delayErrors
final boolean delayErrors -
maxConcurrent
final int maxConcurrent
-
-
Constructor Details
-
OperatorMerge
OperatorMerge(boolean delayErrors, int maxConcurrent)
-
-
Method Details
-
instance
- Type Parameters:
T
- the common value type- Parameters:
delayErrors
- should the merge delay errors?- Returns:
- a singleton instance of this stateless operator.
-
instance
Creates a new instance of the operator with the given delayError and maxConcurrency settings.- Type Parameters:
T
- the value type- Parameters:
delayErrors
-maxConcurrent
- the maximum number of concurrent subscriptions or Integer.MAX_VALUE for unlimited- Returns:
- the Operator instance with the given settings
-
call
- Specified by:
call
in interfaceFunc1<Subscriber<? super T>,
Subscriber<? super Observable<? extends T>>>
-