/* * Copyright 2015-2017 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. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. 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.services.dynamodbv2.xspec; import com.amazonaws.annotation.Beta; /** * Represents an <a href= * "http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.Modifying.html" * >ADD</a> action in the ADD section of an update expression. * <p> * <h3>Important</h3> * The ADD action only supports Number and set data types. In general, DynamoDB * recommends using SET rather than ADD. * <p> * Use the ADD action in an update expression to do either of the following: * <ul> * <li>If the attribute does not already exist, add the new attribute and its * value(s) to the item.</li> * * <li>If the attribute already exists, then the behavior of ADD depends on the * attribute's data type: * <ul> * <li>If the attribute is a number, and the value you are adding is also a number, * then the value is mathematically added to the existing attribute. (If the * value is a negative number, then it is subtracted from the existing * attribute.)</li> * * <li>If the attribute is a set, and the value you are adding is also a set, then * the value is appended to the existing set.</li> * <ul> * </ul> * <p> * This object is as immutable (or unmodifiable) as the underlying value (of * type <code>UnitOfExpression</code>) given during construction. */ @Beta public final class AddAction extends UpdateAction { AddAction(PathOperand attr, UnitOfExpression value) { super("ADD", attr, value); } }