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
Modifier and TypeMethodDescriptiondefault 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 Details
-
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.extension
- ADynamoDbEnhancedClientExtension
that may modify the request or result of this operation. A null value here will result in no modifications.dynamoDbClient
- ADynamoDbClient
to make the call against.- 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.extension
- ADynamoDbEnhancedClientExtension
that may modify the request or result of this operation. A null value here will result in no modifications.dynamoDbAsyncClient
- ADynamoDbAsyncClient
to make the call against.- Returns:
- A
CompletableFuture
of the high level result object as specified by the implementation of this operation.
-