1 package org.davidmoten.rx.jdbc; 2 3 import java.sql.Connection; 4 5 import javax.annotation.Nonnull; 6 7 import com.github.davidmoten.guavamini.Preconditions; 8 9 import io.reactivex.Single; 10 11 public final class TransactedBuilder { 12 13 private final Single<Connection> connections; 14 private final Database db; 15 16 TransactedBuilder(TransactedConnection con, Database db) { 17 this.db = db; 18 this.connections = Single.just(con); 19 } 20 21 public TransactedSelectBuilder select(@Nonnull String sql) { 22 Preconditions.checkNotNull(sql, "sql cannot be null"); 23 return new SelectBuilder(sql, connections, db).transacted(); 24 } 25 26 public TransactedUpdateBuilder update(@Nonnull String sql) { 27 Preconditions.checkNotNull(sql, "sql cannot be null"); 28 return new UpdateBuilder(sql, connections, db).transacted(); 29 } 30 31 public TransactedCallableBuilder call(@Nonnull String sql) { 32 Preconditions.checkNotNull(sql, "sql cannot be null"); 33 return new CallableBuilder(sql, connections, db).transacted(); 34 } 35 36 }