Class AbstractSubscriber<T>

  • Type Parameters:
    T - the type of the items
    All Implemented Interfaces:
    java.util.concurrent.Flow.Subscriber<T>, java.util.concurrent.Flow.Subscription

    public class AbstractSubscriber<T>
    extends java.lang.Object
    implements java.util.concurrent.Flow.Subscriber<T>, java.util.concurrent.Flow.Subscription
    A convenient base class for a subscriber and subscription to extend in tests and that manages the subscription and requests.

    Implementations shall override onNext(Object), onError(Throwable) and/or onComplete() to add test-specific custom logic.

    • Constructor Detail

      • AbstractSubscriber

        public AbstractSubscriber()
        Creates a new AbstractSubscriber with 0 upfront requests.
      • AbstractSubscriber

        public AbstractSubscriber​(long req)
        Creates a new AbstractSubscriber with req upfront requests.
        Parameters:
        req - the number of upfront requests
    • Method Detail

      • onSubscribe

        public void onSubscribe​(java.util.concurrent.Flow.Subscription s)
        Specified by:
        onSubscribe in interface java.util.concurrent.Flow.Subscriber<T>
      • onNext

        public void onNext​(T t)
        Specified by:
        onNext in interface java.util.concurrent.Flow.Subscriber<T>
      • onError

        public void onError​(java.lang.Throwable t)
        Specified by:
        onError in interface java.util.concurrent.Flow.Subscriber<T>
      • onComplete

        public void onComplete()
        Specified by:
        onComplete in interface java.util.concurrent.Flow.Subscriber<T>
      • request

        public void request​(long n)
        Specified by:
        request in interface java.util.concurrent.Flow.Subscription
      • cancel

        public void cancel()
        Specified by:
        cancel in interface java.util.concurrent.Flow.Subscription