ItemT - The modelled object that this table maps records to.RequestT - The type of the request object for the DynamoDb call in the low level DynamoDbClient or
                  DynamoDbAsyncClient.ResponseT - The type of the response object for the DynamoDb call in the low level DynamoDbClient
                  or DynamoDbAsyncClient.ResultT - The type of the mapped result object that will be returned by the execution of this operation.public interface CommonOperation<ItemT,RequestT,ResponseT,ResultT>
 This interface is extended by TableOperation and IndexOperation which contain implementations of
 the behavior to actually execute the operation in the context of a table or secondary index and are used by
 DynamoDbTable or DynamoDbAsyncTable and DynamoDbIndex or DynamoDbAsyncIndex respectively. By
 sharing this common interface operations are able to re-use code regardless of whether they are executed in the
 context of a primary or secondary index or whether they are being executed in a synchronous or non-blocking
 asynchronous fashion.
| Modifier and Type | Method and Description | 
|---|---|
Function<RequestT,CompletableFuture<ResponseT>> | 
asyncServiceCall(DynamoDbAsyncClient dynamoDbAsyncClient)
Provides a function for making the low level non-blocking asynchronous SDK call to DynamoDb. 
 | 
default ResultT | 
execute(TableSchema<ItemT> tableSchema,
       OperationContext context,
       MapperExtension mapperExtension,
       DynamoDbClient dynamoDbClient)
Default implementation of a complete synchronous execution of this operation against either the primary or a
 secondary index. 
 | 
default CompletableFuture<ResultT> | 
executeAsync(TableSchema<ItemT> tableSchema,
            OperationContext context,
            MapperExtension mapperExtension,
            DynamoDbAsyncClient dynamoDbAsyncClient)
Default implementation of a complete non-blocking asynchronous execution of this operation against either the
 primary or a secondary index. 
 | 
RequestT | 
generateRequest(TableSchema<ItemT> tableSchema,
               OperationContext context,
               MapperExtension mapperExtension)
This method generates the request that needs to be sent to a low level  
DynamoDbClient. | 
Function<RequestT,ResponseT> | 
serviceCall(DynamoDbClient dynamoDbClient)
Provides a function for making the low level synchronous SDK call to DynamoDb. 
 | 
ResultT | 
transformResponse(ResponseT response,
                 TableSchema<ItemT> tableSchema,
                 OperationContext context,
                 MapperExtension mapperExtension)
Takes the response object returned by the actual DynamoDb call and maps it into a higher level abstracted
 result object. 
 | 
RequestT generateRequest(TableSchema<ItemT> tableSchema, OperationContext context, MapperExtension mapperExtension)
DynamoDbClient.tableSchema - A TableSchema that maps the table to a modelled object.context - An object containing the context, or target, of the command execution.mapperExtension - A MapperExtension that may modify the request of this operation. A null value
                        here will result in no modifications.DynamoDbClient call to perform the operation.Function<RequestT,ResponseT> serviceCall(DynamoDbClient dynamoDbClient)
dynamoDbClient - A low level DynamoDbClient to make the call against.Function<RequestT,CompletableFuture<ResponseT>> asyncServiceCall(DynamoDbAsyncClient dynamoDbAsyncClient)
dynamoDbAsyncClient - A low level DynamoDbAsyncClient to make the call against.ResultT transformResponse(ResponseT response, TableSchema<ItemT> tableSchema, OperationContext context, MapperExtension mapperExtension)
response - The response object returned by the DynamoDb call for this operation.tableSchema - A TableSchema that maps the table to a modelled object.context - An object containing the context, or target, of the command execution.mapperExtension - A MapperExtension that may modify the result of this operation. A null value
                        here will result in no modifications.default ResultT execute(TableSchema<ItemT> tableSchema, OperationContext context, MapperExtension mapperExtension, DynamoDbClient dynamoDbClient)
tableSchema - A TableSchema that maps the table to a modelled object.context - An object containing the context, or target, of the command execution.dynamoDbClient - A DynamoDbClient to make the call against.mapperExtension - A MapperExtension that may modify the request or result of this operation. A
                        null value here will result in no modifications.default CompletableFuture<ResultT> executeAsync(TableSchema<ItemT> tableSchema, OperationContext context, MapperExtension mapperExtension, DynamoDbAsyncClient dynamoDbAsyncClient)
CompletableFuture returned by the SDK in a new one that calls transformResponse() to
 convert the response object returned in the previous step to a high level result.tableSchema - A TableSchema that maps the table to a modelled object.context - An object containing the context, or target, of the command execution.dynamoDbAsyncClient - A DynamoDbAsyncClient to make the call against.mapperExtension - A MapperExtension that may modify the request or result of this operation. A
                        null value here will result in no modifications.CompletableFuture of the high level result object as specified by the implementation of this
 operation.Copyright © 2020. All rights reserved.