Interface AsyncTransactionManager.AsyncTransactionStep<I,O>

Type Parameters:
I -
O -
All Superinterfaces:
com.google.api.core.ApiFuture<O>, Future<O>
Enclosing interface:
AsyncTransactionManager

public static interface AsyncTransactionManager.AsyncTransactionStep<I,O> extends com.google.api.core.ApiFuture<O>
AsyncTransactionManager.AsyncTransactionStep is returned by AsyncTransactionManager.TransactionContextFuture.then(AsyncTransactionFunction, Executor) and then(AsyncTransactionFunction, Executor) and allows transaction steps that should be executed serially to be chained together. Each step can contain one or more statements that may execute in parallel.

Example usage:


 final String column = "FirstName";
 final long singerId = 1L;
 AsyncTransactionManager manager = client.transactionManagerAsync();
 TransactionContextFuture txnFuture = manager.beginAsync();
 txnFuture
   .then((transaction, ignored) ->
     transaction.readRowAsync("Singers", Key.of(singerId), Collections.singleton(column)),
     executor)
   .then((transaction, row) ->
     transaction.bufferAsync(
         Mutation.newUpdateBuilder("Singers")
           .set(column).to(row.getString(column).toUpperCase())
           .build()),
     executor)
   .commitAsync();