Interface PaginatedIndexOperation<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 PaginatedIndexOperation<ItemT,RequestT,ResponseT> extends PaginatedOperation<ItemT,RequestT,ResponseT>
Interface for an operation that can be executed against a secondary index of a mapped database table and is expected to return a paginated list of results. 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 implementPaginatedTableOperation
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 PageIterable<ItemT>
executeOnSecondaryIndex(TableSchema<ItemT> tableSchema, String tableName, String indexName, DynamoDbEnhancedClientExtension extension, DynamoDbClient dynamoDbClient)
Default implementation of a complete synchronous execution of this operation against a secondary index.default SdkPublisher<Page<ItemT>>
executeOnSecondaryIndexAsync(TableSchema<ItemT> tableSchema, String tableName, String indexName, DynamoDbEnhancedClientExtension extension, DynamoDbAsyncClient dynamoDbAsyncClient)
Default implementation of a complete non-blocking asynchronous execution of this operation against a secondary index.-
Methods inherited from interface software.amazon.awssdk.enhanced.dynamodb.internal.operations.PaginatedOperation
asyncServiceCall, execute, executeAsync, generateRequest, serviceCall, transformResponse
-
-
-
-
Method Detail
-
executeOnSecondaryIndex
default PageIterable<ItemT> executeOnSecondaryIndex(TableSchema<ItemT> tableSchema, String tableName, String indexName, DynamoDbEnhancedClientExtension extension, DynamoDbClient dynamoDbClient)
Default implementation of a complete synchronous execution of this operation against a secondary index. It will construct a context based on the given table name and secondary index 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 that contains the secondary index to execute the operation against.indexName
- The physical name of the secondary index 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.
-
executeOnSecondaryIndexAsync
default SdkPublisher<Page<ItemT>> executeOnSecondaryIndexAsync(TableSchema<ItemT> tableSchema, String tableName, String indexName, DynamoDbEnhancedClientExtension extension, DynamoDbAsyncClient dynamoDbAsyncClient)
Default implementation of a complete non-blocking asynchronous execution of this operation against a secondary index. It will construct a context based on the given table name and secondary index 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 that contains the secondary index to execute the operation against.indexName
- The physical name of the secondary index 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.
-
-