Creating custom operators with lift

After learning about and using so many various operators, we are ready to write our own operators. The Observable class has an operator called lift. It receives an instance of the Operator interface. This interface is just an empty one that extends the Func1<Subscriber<? super R>, Subscriber<? super T>> interface. This means that we can pass even lambdas as operators.

The best way of learning how to use the lift operator is to write an example of it. Let's create an operator that adds a sequential index to every item emitted (of course, this is doable without a dedicated operator). This way, we will be able to produce indexed items. For this purpose, we need a class that stores an item and its index. Let's create ...

Get Learning Reactive Programming with Java 8 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.