All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper.DynamoDBSaveExpression Maven / Gradle / Ivy

Go to download

The AWS Android SDK for Amazon DynamoDB Mapper module holds the client classes that are used for communicating with Amazon DynamoDB Service

There is a newer version: 2.79.0
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at:
 *
 *    http://aws.amazon.com/apache2.0
 *
 * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
 * OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and
 * limitations under the License.
 */

package com.amazonaws.mobileconnectors.dynamodbv2.dynamodbmapper;

import com.amazonaws.services.dynamodbv2.model.ConditionalOperator;
import com.amazonaws.services.dynamodbv2.model.ExpectedAttributeValue;

import java.util.HashMap;
import java.util.Map;

/**
 * Enables adding options to a save operation. For example, you may want to save
 * only if an attribute has a particular value.
 *
 * @see DynamoDBMapper#save(Object, DynamoDBSaveExpression)
 */
public class DynamoDBSaveExpression {

    /** Optional expected attributes */
    private Map expectedAttributes;

    /**
     * The logical operator on the expected value conditions of this save
     * operation.
     */
    private String conditionalOperator;

    /**
     * Gets the map of attribute names to expected attribute values to check on
     * save.
     *
     * @return The map of attribute names to expected attribute value conditions
     *         to check on save
     */
    public Map getExpected() {
        return expectedAttributes;
    }

    /**
     * Sets the expected condition to the map of attribute names to expected
     * attribute values given.
     *
     * @param expectedAttributes The map of attribute names to expected
     *            attribute value conditions to check on save
     */
    public void setExpected(Map expectedAttributes) {
        this.expectedAttributes = expectedAttributes;
    }

    /**
     * Sets the expected condition to the map of attribute names to expected
     * attribute values given and returns a pointer to this object for
     * method-chaining.
     *
     * @param expectedAttributes The map of attribute names to expected
     *            attribute value conditions to check on save
     */
    public DynamoDBSaveExpression withExpected(
            Map expectedAttributes) {
        setExpected(expectedAttributes);
        return this;
    }

    /**
     * Adds one entry to the expected conditions and returns a pointer to this
     * object for method-chaining.
     *
     * @param attributeName The name of the attribute.
     * @param expected The expected attribute value.
     */
    public DynamoDBSaveExpression withExpectedEntry(String attributeName,
            ExpectedAttributeValue expected) {
        if (expectedAttributes == null) {
            expectedAttributes = new HashMap();
        }
        expectedAttributes.put(attributeName, expected);
        return this;
    }

    /**
     * Returns the logical operator on the expected value conditions of this
     * save operation.
     */
    public String getConditionalOperator() {
        return conditionalOperator;
    }

    /**
     * Sets the logical operator on the expected value conditions of this save
     * operation.
     */
    public void setConditionalOperator(String conditionalOperator) {
        this.conditionalOperator = conditionalOperator;
    }

    /**
     * Sets the logical operator on the expected value conditions of this save
     * operation and returns a pointer to this object for method-chaining.
     */
    public DynamoDBSaveExpression withConditionalOperator(String conditionalOperator) {
        setConditionalOperator(conditionalOperator);
        return this;
    }

    /**
     * Sets the logical operator on the expected value conditions of this save
     * operation.
     */
    public void setConditionalOperator(ConditionalOperator conditionalOperator) {
        setConditionalOperator(conditionalOperator.toString());
    }

    /**
     * Sets the logical operator on the expected value conditions of this save
     * operation and returns a pointer to this object for method-chaining.
     */
    public DynamoDBSaveExpression withConditionalOperator(ConditionalOperator conditionalOperator) {
        return withConditionalOperator(conditionalOperator.toString());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy