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 levelDynamoDbClient
.ResponseT
- The type of the response object for the DynamoDb call in the low levelDynamoDbClient
.
- 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 Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description 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.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.OperationName
operationName()
The type, or name, of the operation.-
Methods inherited from interface software.amazon.awssdk.enhanced.dynamodb.internal.operations.PaginatedOperation
asyncServiceCall, execute, executeAsync, generateRequest, serviceCall, transformResponse
-
-
-
-
Method Detail
-
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 thePaginatedOperation
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 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 thePaginatedOperation
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 high level result object as specified by the implementation of this operation.
-
operationName
OperationName operationName()
The type, or name, of the operation.
-
-