Interface TableOperation<ItemT,RequestT,ResponseT,ResultT>
-
- Type Parameters:
ItemT
- The modelled object that this table maps records to.RequestT
- The type of the request object for the DynamoDb call in the low levelDynamoDbClient
.ResponseT
- The type of the response object for the DynamoDb call in the low levelDynamoDbClient
.ResultT
- The type of the mapped result object that will be returned by the execution of this operation.
- All Superinterfaces:
CommonOperation<ItemT,RequestT,ResponseT,ResultT>
- All Known Implementing Classes:
CreateTableOperation
,DeleteItemOperation
,DeleteTableOperation
,DescribeTableOperation
,GetItemOperation
,PutItemOperation
,UpdateItemOperation
public interface TableOperation<ItemT,RequestT,ResponseT,ResultT> extends CommonOperation<ItemT,RequestT,ResponseT,ResultT>
Interface for a single operation that can be executed against a mapped database table. These operations will be executed against the primary index of the table. Conceptually an operation maps 1:1 with an actual DynamoDb call.A concrete implementation of this interface should also implement
IndexOperation
with the same types if the operation supports being executed against both the primary index and secondary indices.
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default ResultT
executeOnPrimaryIndex(TableSchema<ItemT> tableSchema, String tableName, DynamoDbEnhancedClientExtension extension, DynamoDbClient dynamoDbClient)
Default implementation of a complete synchronous execution of this operation against the primary index.default CompletableFuture<ResultT>
executeOnPrimaryIndexAsync(TableSchema<ItemT> tableSchema, String tableName, DynamoDbEnhancedClientExtension extension, DynamoDbAsyncClient dynamoDbAsyncClient)
Default implementation of a complete non-blocking asynchronous execution of this operation against the primary index.-
Methods inherited from interface software.amazon.awssdk.enhanced.dynamodb.internal.operations.CommonOperation
asyncServiceCall, execute, executeAsync, generateRequest, operationName, serviceCall, transformResponse
-
-
-
-
Method Detail
-
executeOnPrimaryIndex
default ResultT executeOnPrimaryIndex(TableSchema<ItemT> tableSchema, String tableName, DynamoDbEnhancedClientExtension extension, DynamoDbClient dynamoDbClient)
Default implementation of a complete synchronous execution of this operation against the primary index. It will construct a context based on the given table name and then call execute() on theCommonOperation
interface to perform the operation.- Parameters:
tableSchema
- ATableSchema
that maps the table to a modelled object.tableName
- The physical name of the table to execute the operation against.dynamoDbClient
- ADynamoDbClient
to make the call against.extension
- ADynamoDbEnhancedClientExtension
that may modify the request or result of this operation. A null value here will result in no modifications.- Returns:
- A high level result object as specified by the implementation of this operation.
-
executeOnPrimaryIndexAsync
default CompletableFuture<ResultT> executeOnPrimaryIndexAsync(TableSchema<ItemT> tableSchema, String tableName, DynamoDbEnhancedClientExtension extension, DynamoDbAsyncClient dynamoDbAsyncClient)
Default implementation of a complete non-blocking asynchronous execution of this operation against the primary index. It will construct a context based on the given table name and then call executeAsync() on theCommonOperation
interface to perform the operation.- Parameters:
tableSchema
- ATableSchema
that maps the table to a modelled object.tableName
- The physical name of the table to execute the operation against.dynamoDbAsyncClient
- ADynamoDbAsyncClient
to make the call against.extension
- ADynamoDbEnhancedClientExtension
that may modify the request or result of this operation. A null value here will result in no modifications.- Returns:
- A
CompletableFuture
of the high level result object as specified by the implementation of this operation.
-
-