Interface PaginatedOperation<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 or DynamoDbAsyncClient.
ResponseT - The type of the response object for the DynamoDb call in the low level DynamoDbClient or DynamoDbAsyncClient.
All Known Subinterfaces:
PaginatedIndexOperation<ItemT,RequestT,ResponseT>, PaginatedTableOperation<ItemT,RequestT,ResponseT>
All Known Implementing Classes:
QueryOperation, ScanOperation

public interface PaginatedOperation<ItemT,RequestT,ResponseT>
Common interface for an operation that can be executed in a synchronous or non-blocking asynchronous fashion against a mapped database table and is expected to return a paginated list of results. These operations can be made against either the primary index of a table or a secondary index, although some implementations of this interface do not support secondary indices and will throw an exception when executed against one. Typically, each page of results that is served will automatically perform an additional service call to DynamoDb to retrieve the next set of results.

This interface is extended by PaginatedTableOperation and PaginatedIndexOperation which contain implementations of the behavior to actually execute the operation in the context of a table or secondary index and are used by DynamoDbTable or DynamoDbAsyncTable and DynamoDbIndex or DynamoDbAsyncIndex respectively. By sharing this common interface operations are able to re-use code regardless of whether they are executed in the context of a primary or secondary index or whether they are being executed in a synchronous or non-blocking asynchronous fashion.