1   package org.davidmoten.rxjava3.jdbc;
2   
3   import javax.annotation.Nonnull;
4   
5   import com.github.davidmoten.guavamini.Preconditions;
6   
7   import io.reactivex.rxjava3.core.Flowable;
8   
9   public final class ReturnGeneratedKeysBuilder implements Getter {
10  
11      private final UpdateBuilder update;
12  
13      ReturnGeneratedKeysBuilder(@Nonnull UpdateBuilder update) {
14          this.update = update;
15      }
16  
17      
18  
19  
20  
21  
22  
23  
24      @Override
25      public <T> Flowable<T> get(@Nonnull ResultSetMapper<? extends T> mapper) {
26          Preconditions.checkNotNull(mapper, "mapper cannot be null");
27          return update.startWithDependency(Update.<T>createReturnGeneratedKeys(update.connections,
28                  update.parameterGroupsToFlowable(), update.sql, mapper, true));
29  
30      }
31  
32  }