package com.github.davidmoten.rx.jdbc; import com.github.davidmoten.rx.jdbc.QueryUpdate.Builder; import rx.Observable; import rx.Observable.Transformer; import rx.functions.Func1; /** * {@link Transformer} corresonding to {@link QueryUpdateOperation}. */ class QueryUpdateTransformerFromObservable<R> implements Transformer<Observable<R>, Observable<Integer>> { private final Builder builder; /** * Constructor. * * @param builder * @param operatorType */ QueryUpdateTransformerFromObservable(final QueryUpdate.Builder builder) { this.builder = builder; } @Override public Observable<Observable<Integer>> call(Observable<Observable<R>> observable) { return observable.map(new Func1<Observable<R>, Observable<Integer>>() { @Override public Observable<Integer> call(Observable<R> parameters) { return builder.clearParameters().parameters(parameters).count(); } }); } }