super(ddbClient, configuration, exchange);
}
@Override
public void execute() {
QueryResult result = ddbClient.query(new QueryRequest()
.withTableName(determineTableName())
.withAttributesToGet(determineAttributeNames())
.withCount(determineExactCount())
.withConsistentRead(determineConsistentRead())
.withExclusiveStartKey(determineStartKey())
.withHashKeyValue(determineHashKeyValue())
.withLimit(determineLimit())
.withRangeKeyCondition(determineRangeKeyCondition())
.withScanIndexForward(determineScanIndexForward()));
addToResult(DdbConstants.ITEMS, result.getItems());
addToResult(DdbConstants.LAST_EVALUATED_KEY, result.getLastEvaluatedKey());
addToResult(DdbConstants.CONSUMED_CAPACITY, result.getConsumedCapacityUnits());
addToResult(DdbConstants.COUNT, result.getCount());
}