/** * Enable the protocol violation hooks by chaining it * before any existing hook. * @return the SavedHooks instance that allows restoring the previous assembly * hook handlers overridden by this method * @see #enable() */ public static SavedHooks enableAndChain() { return enable(true); }
@Override public void subscribe(Subscriber<? super T>[] s) { validate(s); int n = source.parallelism(); @SuppressWarnings("unchecked") Subscriber<? super T>[] actual = new Subscriber[n]; for (int i = 0; i < n; i++) { actual[i] = new FlowableValidator.ValidatorConsumer<T>(s[i], onViolation); } source.subscribe(actual); }
@Override public void onSubscribe(Subscription s) { if (s == null) { onViolation.accept(new NullOnSubscribeParameterException()); } Subscription u = upstream; if (u != null) { onViolation.accept(new MultipleOnSubscribeCallsException()); } upstream = s; downstream.onSubscribe(this); }
@Override public void onError(Throwable e) { if (e == null) { onViolation.accept(new NullOnErrorParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException(e)); } if (done) { onViolation.accept(new MultipleTerminationsException(e)); } else { done = true; downstream.onError(e); } }
@Override public void onNext(T t) { if (t == null) { onViolation.accept(new NullOnNextParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException()); } if (done) { onViolation.accept(new OnNextAfterTerminationException()); } else { downstream.onNext(t); } }
@Override public void onSuccess(T t) { if (t == null) { onViolation.accept(new NullOnSuccessParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException()); } if (done) { onViolation.accept(new OnSuccessAfterTerminationException()); } else { done = true; downstream.onSuccess(t); } }
@Override public void onError(Throwable e) { if (e == null) { onViolation.accept(new NullOnErrorParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException(e)); } if (done) { onViolation.accept(new MultipleTerminationsException(e)); } else { done = true; downstream.onError(e); } }
@Override public void onSubscribe(Disposable d) { if (d == null) { onViolation.accept(new NullOnSubscribeParameterException()); } Disposable u = upstream; if (u != null) { onViolation.accept(new MultipleOnSubscribeCallsException()); } upstream = d; downstream.onSubscribe(this); }
@Override public void onNext(T t) { if (t == null) { onViolation.accept(new NullOnNextParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException()); } if (done) { onViolation.accept(new OnNextAfterTerminationException()); } else { downstream.onNext(t); } }
@Override public void onSuccess(T t) { if (t == null) { onViolation.accept(new NullOnSuccessParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException()); } if (done) { onViolation.accept(new OnSuccessAfterTerminationException()); } else { done = true; downstream.onSuccess(t); } }
/** * Enable the protocol violation hooks. * @see #enableAndChain() * @see #disable() */ public static void enable() { enable(false); }
@Override public void subscribe(Subscriber<? super T>[] s) { validate(s); int n = source.parallelism(); @SuppressWarnings("unchecked") Subscriber<? super T>[] actual = new Subscriber[n]; for (int i = 0; i < n; i++) { actual[i] = new FlowableValidator.ValidatorConsumer<T>(s[i], onViolation); } source.subscribe(actual); }
@Override public void onError(Throwable e) { if (e == null) { onViolation.accept(new NullOnErrorParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException(e)); } if (done) { onViolation.accept(new MultipleTerminationsException(e)); } else { done = true; downstream.onError(e); } }
@Override public void onSubscribe(Disposable d) { if (d == null) { onViolation.accept(new NullOnSubscribeParameterException()); } Disposable u = upstream; if (u != null) { onViolation.accept(new MultipleOnSubscribeCallsException()); } upstream = d; downstream.onSubscribe(this); }
/** * Enable the protocol violation hooks by chaining it * before any existing hook. * @return the SavedHooks instance that allows restoring the previous assembly * hook handlers overridden by this method * @see #enable() */ public static SavedHooks enableAndChain() { return enable(true); }
@Override public void onError(Throwable e) { if (e == null) { onViolation.accept(new NullOnErrorParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException(e)); } if (done) { onViolation.accept(new MultipleTerminationsException(e)); } else { done = true; downstream.onError(e); } }
@Override public void onSubscribe(Disposable d) { if (d == null) { onViolation.accept(new NullOnSubscribeParameterException()); } Disposable u = upstream; if (u != null) { onViolation.accept(new MultipleOnSubscribeCallsException()); } upstream = d; downstream.onSubscribe(this); }
/** * Enable the protocol violation hooks. * @see #enableAndChain() * @see #disable() */ public static void enable() { enable(false); }
@Override public void onError(Throwable e) { if (e == null) { onViolation.accept(new NullOnErrorParameterException()); } if (upstream == null) { onViolation.accept(new OnSubscribeNotCalledException(e)); } if (done) { onViolation.accept(new MultipleTerminationsException(e)); } else { done = true; downstream.onError(e); } }
@Override public void onSubscribe(Disposable d) { if (d == null) { onViolation.accept(new NullOnSubscribeParameterException()); } Disposable u = upstream; if (u != null) { onViolation.accept(new MultipleOnSubscribeCallsException()); } upstream = d; downstream.onSubscribe(this); }