Interface PaginatedTableOperation<ItemT,RequestT,ResponseT>

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.
All Superinterfaces:
PaginatedOperation<ItemT,RequestT,ResponseT>
All Known Implementing Classes:
QueryOperation, ScanOperation

public interface PaginatedTableOperation<ItemT,RequestT,ResponseT> extends PaginatedOperation<ItemT,RequestT,ResponseT>
Interface for an operation that can be executed against a mapped database table and is expected to return a paginated list of results. These operations will be executed against the primary index of the table. Typically, each page of results that is served will automatically perform an additional service call to DynamoDb to retrieve the next set of results.

A concrete implementation of this interface should also implement PaginatedIndexOperation with the same types if the operation supports being executed against both the primary index and secondary indices.

  • Method Details

    • executeOnPrimaryIndex

      default PageIterable<ItemT> 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 PaginatedOperation 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.
      extension - A DynamoDbEnhancedClientExtension that may modify the request or result of this operation. A null value here will result in no modifications.
      dynamoDbClient - A DynamoDbClient to make the call against.
      Returns:
      A high level result object as specified by the implementation of this operation.
    • executeOnPrimaryIndexAsync

      default PagePublisher<ItemT> 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 PaginatedOperation 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.
      extension - A DynamoDbEnhancedClientExtension that may modify the request or result of this operation. A null value here will result in no modifications.
      dynamoDbAsyncClient - A DynamoDbAsyncClient to make the call against.
      Returns:
      A high level result object as specified by the implementation of this operation.
    • operationName

      OperationName operationName()
      The type, or name, of the operation.