Interface AsyncTransactionManager.AsyncTransactionFunction<I,O>

public static interface AsyncTransactionManager.AsyncTransactionFunction<I,O>

Each step in a transaction chain is defined by an AsyncTransactionFunction. It receives a TransactionContext and the output value of the previous transaction step as its input parameters. The method should return an ApiFuture that will return the result of this step.

Type Parameters

NameDescription
I
O

Methods

apply(TransactionContext txn, I input)

public abstract ApiFuture<O> apply(TransactionContext txn, I input)

This method is called when this transaction step is executed. The input value is the result of the previous step, and this method will only be called if the previous step executed successfully.

Parameters
NameDescription
txnTransactionContext

the TransactionContext that can be used to execute statements.

inputI

the result of the previous transaction step.

Returns
TypeDescription
ApiFuture<O>

an ApiFuture that will return the result of this step, and that will be the input of the next transaction step. This method should never return null. Instead, if the method does not have a return value, the method should return {@link ApiFutures#immediateFuture(null)}.

Exceptions
TypeDescription
Exception