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 level DynamoDbClient.
    ResponseT - The type of the response object for the DynamoDb call in the low level DynamoDbClient.
    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 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 the CommonOperation interface to perform the operation.
        Parameters:
        tableSchema - A TableSchema that maps the table to a modelled object.
        tableName - The physical name of the table to execute the operation against.
        dynamoDbClient - A DynamoDbClient to make the call against.
        extension - A DynamoDbEnhancedClientExtension 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 the CommonOperation interface to perform the operation.
        Parameters:
        tableSchema - A TableSchema that maps the table to a modelled object.
        tableName - The physical name of the table to execute the operation against.
        dynamoDbAsyncClient - A DynamoDbAsyncClient to make the call against.
        extension - A DynamoDbEnhancedClientExtension 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.