@Override public ItemCollection<QueryOutcome> query(KeyAttribute hashKey, RangeKeyCondition rangeKeyCondition, String filterExpression, Map<String, String> nameMap, Map<String, Object> valueMap) { return doQuery(new QuerySpec().withHashKey(hashKey) .withRangeKeyCondition(rangeKeyCondition) .withFilterExpression(filterExpression) .withNameMap(nameMap) .withValueMap(valueMap)); }
@Override public ItemCollection<QueryOutcome> query(KeyAttribute hashKey, RangeKeyCondition rangeKeyCondition, String filterExpression, String projectionExpression, Map<String, String> nameMap, Map<String, Object> valueMap) { return doQuery(new QuerySpec().withHashKey(hashKey) .withRangeKeyCondition(rangeKeyCondition) .withFilterExpression(filterExpression) .withProjectionExpression(projectionExpression) .withNameMap(nameMap) .withValueMap(valueMap)); }
/** * Convenient method to specify expressions (and the associated name map and * value map) via {@link QueryExpressionSpec}. */ @Beta public QuerySpec withExpressionSpec(QueryExpressionSpec xspec) { return withKeyConditionExpression(xspec.getKeyConditionExpression()) .withFilterExpression(xspec.getFilterExpression()) .withProjectionExpression(xspec.getProjectionExpression()) .withNameMap(xspec.getNameMap()) .withValueMap(xspec.getValueMap()) ; } }
private static void findRepliesUsingAFilterExpression(String forumName, String threadSubject) { Table table = dynamoDB.getTable(tableName); String replyId = forumName + "#" + threadSubject; QuerySpec spec = new QuerySpec() .withProjectionExpression("Message, ReplyDateTime, PostedBy") .withKeyConditionExpression("Id = :v_id") .withFilterExpression("PostedBy = :v_postedby") .withValueMap(new ValueMap() .withString(":v_id", replyId) .withString(":v_postedby", "User B")); ItemCollection<QueryOutcome> items = table.query(spec); System.out.println("\nfindRepliesUsingAFilterExpression results:"); Iterator<Item> iterator = items.iterator(); while (iterator.hasNext()) { System.out.println(iterator.next().toJSONPretty()); } }
@Override public ItemCollection<QueryOutcome> query(KeyAttribute hashKey, RangeKeyCondition rangeKeyCondition, String filterExpression, Map<String, String> nameMap, Map<String, Object> valueMap) { return doQuery(new QuerySpec().withHashKey(hashKey) .withRangeKeyCondition(rangeKeyCondition) .withFilterExpression(filterExpression) .withNameMap(nameMap) .withValueMap(valueMap)); }
@Override public ItemCollection<QueryOutcome> query(KeyAttribute hashKey, RangeKeyCondition rangeKeyCondition, String filterExpression, String projectionExpression, Map<String, String> nameMap, Map<String, Object> valueMap) { return doQuery(new QuerySpec().withHashKey(hashKey) .withRangeKeyCondition(rangeKeyCondition) .withFilterExpression(filterExpression) .withProjectionExpression(projectionExpression) .withNameMap(nameMap) .withValueMap(valueMap)); }
/** * Convenient method to specify expressions (and the associated name map and * value map) via {@link QueryExpressionSpec}. */ @Beta public QuerySpec withExpressionSpec(QueryExpressionSpec xspec) { return withKeyConditionExpression(xspec.getKeyConditionExpression()) .withFilterExpression(xspec.getFilterExpression()) .withProjectionExpression(xspec.getProjectionExpression()) .withNameMap(xspec.getNameMap()) .withValueMap(xspec.getValueMap()) ; } }
.withHashKey(pathToParentKeyAttribute(path)) .withConsistentRead(true) .withFilterExpression(IS_DELETED + " = :false") .withValueMap(deleteTrackingValueMap); boolean hasChildren = readOp.retry("get/hasChildren",