Class RxHelper


  • public class RxHelper
    extends Object
    A set of helpers for RxJava and Vert.x.
    Author:
    Julien Viet
    • Constructor Detail

      • RxHelper

        public RxHelper()
    • Method Detail

      • schedulerHook

        public static rx.plugins.RxJavaSchedulersHook schedulerHook​(Vertx vertx)
        Create a scheduler hook for a Vertx object.
        Parameters:
        vertx - the vertx object
        Returns:
        the scheduler hook
      • schedulerHook

        public static rx.plugins.RxJavaSchedulersHook schedulerHook​(Context context)
        Create a scheduler hook for a Context object.
        Parameters:
        context - the context object
        Returns:
        the scheduler hook
      • scheduler

        public static rx.Scheduler scheduler​(Vertx vertx)
        Create a scheduler for a Vertx object, actions are executed on the event loop of the current context.
        Parameters:
        vertx - the vertx object
        Returns:
        the scheduler
      • scheduler

        public static rx.Scheduler scheduler​(WorkerExecutor executor)
        Create a scheduler for a WorkerExecutor object, actions are executed on the threads of this executor.
        Parameters:
        executor - the worker executor object
        Returns:
        the scheduler
      • scheduler

        public static rx.Scheduler scheduler​(Context context)
        Create a scheduler for a Context, actions are executed on the event loop of this context.
        Parameters:
        context - the context object
        Returns:
        the scheduler
      • blockingScheduler

        public static rx.Scheduler blockingScheduler​(Vertx vertx)
        Create a scheduler for a Vertx object, actions can be blocking, they are not executed on Vertx event loop.
        Parameters:
        vertx - the vertx object
        Returns:
        the scheduler
      • blockingScheduler

        public static rx.Scheduler blockingScheduler​(Vertx vertx,
                                                     boolean ordered)
        Create a scheduler for a Vertx object, actions can be blocking, they are not executed on Vertx event loop.
        Parameters:
        vertx - the vertx object
        ordered - if true then if when tasks are scheduled several times on the same context, the executions for that context will be executed serially, not in parallel. if false then they will be no ordering guarantees
        Returns:
        the scheduler
      • unmarshaller

        public static <T> rx.Observable.Operator<T,​Buffer> unmarshaller​(Class<T> mappedType)
        Returns a json unmarshaller for the specified java type as a Observable.Operator instance.

        The marshaller can be used with the Observable.lift(rx.Observable.Operator) method to transform a Observable<Buffer> into a Observable<T>.

        The unmarshaller buffers the content until onComplete is called, then unmarshalling happens.

        Note that the returned observable will emit at most a single object.

        Parameters:
        mappedType - the type to unmarshall
        Returns:
        the unmarshaller operator
      • deployVerticle

        public static rx.Observable<String> deployVerticle​(Vertx vertx,
                                                           Verticle verticle)
        Deploy a verticle you have created yourself, using an RxJava vertx instance.
        Parameters:
        vertx - the vertx instance
        verticle - the verticle instance to deploy
        Returns:
        the response observable