Working with Subjects
So far, we have been working with Observables
, Subscriber
, Observer
, and Scheduler
entities to create our RxJava
functional processing lines. In this section, we will introduce the reader to a new kind of entity in the RxJava
framework, the Subject
. The Subject
is a sort of adapter or bridge entity that acts as an Observable
and Observer
:
public abstract class Subject<T,R> extends Observable<R> implements Observer<T>
Since it can act as a Subscriber
, it can subscribe to one or more Observables
that emit Objects
of the generic type T
, and since it acts as an Observable
, it can emit events of the generic type R
and receive subscriptions from other Subscriber
. Hence, it can emit events of the same type as received or emit a different type of event.
For example, the Subject<String, Integer>
will receive events of type String
and emit events of the type Integer
.
The Subject
could receive the events from the Observable...