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 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 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 implement PaginatedTableOperation with the same types if the operation supports being executed against both the primary index and secondary indices.
    • 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 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 that contains the secondary index to execute the operation against.
        indexName - The physical name of the secondary index 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.
      • 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 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 that contains the secondary index to execute the operation against.
        indexName - The physical name of the secondary index 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 high level result object as specified by the implementation of this operation.