Example usage for com.amazonaws.services.dynamodbv2.model QueryRequest setProjectionExpression

List of usage examples for com.amazonaws.services.dynamodbv2.model QueryRequest setProjectionExpression

Introduction

In this page you can find the example usage for com.amazonaws.services.dynamodbv2.model QueryRequest setProjectionExpression.

Prototype


public void setProjectionExpression(String projectionExpression) 

Source Link

Document

A string that identifies one or more attributes to retrieve from the table.

Usage

From source file:org.iternine.jeppetto.dao.dynamodb.DynamoDBQueryModelDAO.java

License:Apache License

private void applyExpressions(ConditionExpressionBuilder conditionExpressionBuilder,
        QueryRequest queryRequest) {
    Map<String, String> expressionAttributeNames;

    queryRequest.setProjectionExpression(projectionExpression);

    if (conditionExpressionBuilder.hasExpression()) {
        queryRequest.setFilterExpression(conditionExpressionBuilder.getExpression());

        if (!conditionExpressionBuilder.getExpressionAttributeValues().isEmpty()) {
            queryRequest// w  w  w.j  av  a2s  . c  o  m
                    .setExpressionAttributeValues(conditionExpressionBuilder.getExpressionAttributeValues());
        }

        if (projectionExpressionNames.isEmpty()) {
            expressionAttributeNames = conditionExpressionBuilder.getExpressionAttributeNames();
        } else if (conditionExpressionBuilder.getExpressionAttributeNames().isEmpty()) {
            expressionAttributeNames = projectionExpressionNames;
        } else {
            expressionAttributeNames = new LinkedHashMap<String, String>();
            expressionAttributeNames.putAll(conditionExpressionBuilder.getExpressionAttributeNames());
            expressionAttributeNames.putAll(projectionExpressionNames);
        }
    } else {
        expressionAttributeNames = projectionExpressionNames;
    }

    if (!expressionAttributeNames.isEmpty()) {
        queryRequest.setExpressionAttributeNames(expressionAttributeNames);
    }
}