Class AttributeValueUpdate
- java.lang.Object
-
- software.amazon.awssdk.services.dynamodb.model.AttributeValueUpdate
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<AttributeValueUpdate.Builder,AttributeValueUpdate>
@Generated("software.amazon.awssdk:codegen") public final class AttributeValueUpdate extends Object implements SdkPojo, Serializable, ToCopyableBuilder<AttributeValueUpdate.Builder,AttributeValueUpdate>
For the
UpdateItemoperation, represents the attributes to be modified, the action to perform on each, and the new value for each.You cannot use
UpdateItemto update any primary key attributes. Instead, you will need to delete the item, and then usePutItemto create a new item with new attributes.Attribute values cannot be null; string and binary type attributes must have lengths greater than zero; and set type attributes must not be empty. Requests with empty values will be rejected with a
ValidationExceptionexception.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAttributeValueUpdate.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeActionaction()Specifies how to perform the update.StringactionAsString()Specifies how to perform the update.static AttributeValueUpdate.Builderbuilder()booleanequals(Object obj)booleanequalsBySdkFields(Object obj)<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)inthashCode()Map<String,SdkField<?>>sdkFieldNameToField()List<SdkField<?>>sdkFields()static Class<? extends AttributeValueUpdate.Builder>serializableBuilderClass()AttributeValueUpdate.BuildertoBuilder()StringtoString()Returns a string representation of this object.AttributeValuevalue()Represents the data for an attribute.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
value
public final AttributeValue value()
Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide.
- Returns:
- Represents the data for an attribute.
Each attribute value is described as a name-value pair. The name is the data type, and the value is the data itself.
For more information, see Data Types in the Amazon DynamoDB Developer Guide.
-
action
public final AttributeAction action()
Specifies how to perform the update. Valid values are
PUT(default),DELETE, andADD. The behavior depends on whether the specified primary key already exists in the table.If an item with the specified Key is found in the table:
-
PUT- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value. -
DELETE- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set
[a,b,c]and theDELETEaction specified[a,c], then the final attribute value would be[b]. Specifying an empty set is an error. -
ADD- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior ofADDdepends on the data type of the attribute:-
If the existing attribute is a number, and if
Valueis also a number, then theValueis mathematically added to the existing attribute. IfValueis a negative number, then it is subtracted from the existing attribute.If you use
ADDto increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.In addition, if you use
ADDto update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses0as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide toADDthe number3to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to0, and finally add3to it. The result will be a new itemcount attribute in the item, with a value of3. -
If the existing data type is a set, and if the
Valueis also a set, then theValueis added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set[1,2], and theADDaction specified[3], then the final attribute value would be[1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the
Valuemust also be a set of strings. The same holds true for number sets and binary sets.
This action is only valid for an existing attribute whose data type is number or is a set. Do not use
ADDfor any other data types. -
If no item with the specified Key is found:
-
PUT- DynamoDB creates a new item with the specified primary key, and then adds the attribute. -
DELETE- Nothing happens; there is no attribute to delete. -
ADD- DynamoDB creates a new item with the supplied primary key and number (or set) for the attribute value. The only data types allowed are number, number set, string set or binary set.
If the service returns an enum value that is not available in the current SDK version,
actionwill returnAttributeAction.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromactionAsString().- Returns:
- Specifies how to perform the update. Valid values are
PUT(default),DELETE, andADD. The behavior depends on whether the specified primary key already exists in the table.If an item with the specified Key is found in the table:
-
PUT- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value. -
DELETE- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set
[a,b,c]and theDELETEaction specified[a,c], then the final attribute value would be[b]. Specifying an empty set is an error. -
ADD- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior ofADDdepends on the data type of the attribute:-
If the existing attribute is a number, and if
Valueis also a number, then theValueis mathematically added to the existing attribute. IfValueis a negative number, then it is subtracted from the existing attribute.If you use
ADDto increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.In addition, if you use
ADDto update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses0as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide toADDthe number3to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to0, and finally add3to it. The result will be a new itemcount attribute in the item, with a value of3. -
If the existing data type is a set, and if the
Valueis also a set, then theValueis added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set[1,2], and theADDaction specified[3], then the final attribute value would be[1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the
Valuemust also be a set of strings. The same holds true for number sets and binary sets.
This action is only valid for an existing attribute whose data type is number or is a set. Do not use
ADDfor any other data types. -
If no item with the specified Key is found:
-
PUT- DynamoDB creates a new item with the specified primary key, and then adds the attribute. -
DELETE- Nothing happens; there is no attribute to delete. -
ADD- DynamoDB creates a new item with the supplied primary key and number (or set) for the attribute value. The only data types allowed are number, number set, string set or binary set.
-
- See Also:
AttributeAction
-
-
actionAsString
public final String actionAsString()
Specifies how to perform the update. Valid values are
PUT(default),DELETE, andADD. The behavior depends on whether the specified primary key already exists in the table.If an item with the specified Key is found in the table:
-
PUT- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value. -
DELETE- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set
[a,b,c]and theDELETEaction specified[a,c], then the final attribute value would be[b]. Specifying an empty set is an error. -
ADD- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior ofADDdepends on the data type of the attribute:-
If the existing attribute is a number, and if
Valueis also a number, then theValueis mathematically added to the existing attribute. IfValueis a negative number, then it is subtracted from the existing attribute.If you use
ADDto increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.In addition, if you use
ADDto update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses0as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide toADDthe number3to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to0, and finally add3to it. The result will be a new itemcount attribute in the item, with a value of3. -
If the existing data type is a set, and if the
Valueis also a set, then theValueis added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set[1,2], and theADDaction specified[3], then the final attribute value would be[1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the
Valuemust also be a set of strings. The same holds true for number sets and binary sets.
This action is only valid for an existing attribute whose data type is number or is a set. Do not use
ADDfor any other data types. -
If no item with the specified Key is found:
-
PUT- DynamoDB creates a new item with the specified primary key, and then adds the attribute. -
DELETE- Nothing happens; there is no attribute to delete. -
ADD- DynamoDB creates a new item with the supplied primary key and number (or set) for the attribute value. The only data types allowed are number, number set, string set or binary set.
If the service returns an enum value that is not available in the current SDK version,
actionwill returnAttributeAction.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromactionAsString().- Returns:
- Specifies how to perform the update. Valid values are
PUT(default),DELETE, andADD. The behavior depends on whether the specified primary key already exists in the table.If an item with the specified Key is found in the table:
-
PUT- Adds the specified attribute to the item. If the attribute already exists, it is replaced by the new value. -
DELETE- If no value is specified, the attribute and its value are removed from the item. The data type of the specified value must match the existing value's data type.If a set of values is specified, then those values are subtracted from the old set. For example, if the attribute value was the set
[a,b,c]and theDELETEaction specified[a,c], then the final attribute value would be[b]. Specifying an empty set is an error. -
ADD- If the attribute does not already exist, then the attribute and its values are added to the item. If the attribute does exist, then the behavior ofADDdepends on the data type of the attribute:-
If the existing attribute is a number, and if
Valueis also a number, then theValueis mathematically added to the existing attribute. IfValueis a negative number, then it is subtracted from the existing attribute.If you use
ADDto increment or decrement a number value for an item that doesn't exist before the update, DynamoDB uses 0 as the initial value.In addition, if you use
ADDto update an existing item, and intend to increment or decrement an attribute value which does not yet exist, DynamoDB uses0as the initial value. For example, suppose that the item you want to update does not yet have an attribute named itemcount, but you decide toADDthe number3to this attribute anyway, even though it currently does not exist. DynamoDB will create the itemcount attribute, set its initial value to0, and finally add3to it. The result will be a new itemcount attribute in the item, with a value of3. -
If the existing data type is a set, and if the
Valueis also a set, then theValueis added to the existing set. (This is a set operation, not mathematical addition.) For example, if the attribute value was the set[1,2], and theADDaction specified[3], then the final attribute value would be[1,2,3]. An error occurs if an Add action is specified for a set attribute and the attribute type specified does not match the existing set type.Both sets must have the same primitive data type. For example, if the existing data type is a set of strings, the
Valuemust also be a set of strings. The same holds true for number sets and binary sets.
This action is only valid for an existing attribute whose data type is number or is a set. Do not use
ADDfor any other data types. -
If no item with the specified Key is found:
-
PUT- DynamoDB creates a new item with the specified primary key, and then adds the attribute. -
DELETE- Nothing happens; there is no attribute to delete. -
ADD- DynamoDB creates a new item with the supplied primary key and number (or set) for the attribute value. The only data types allowed are number, number set, string set or binary set.
-
- See Also:
AttributeAction
-
-
toBuilder
public AttributeValueUpdate.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<AttributeValueUpdate.Builder,AttributeValueUpdate>
-
builder
public static AttributeValueUpdate.Builder builder()
-
serializableBuilderClass
public static Class<? extends AttributeValueUpdate.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
sdkFieldNameToField
public final Map<String,SdkField<?>> sdkFieldNameToField()
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo
-
-