com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBDeleteExpression Maven / Gradle / Ivy
Show all versions of aws-java-sdk-dynamodb Show documentation
/*
* Copyright 2011-2020 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.services.dynamodbv2.datamodeling;
import java.util.HashMap;
import java.util.Map;
import com.amazonaws.services.dynamodbv2.model.AttributeValue;
import com.amazonaws.services.dynamodbv2.model.ConditionalOperator;
import com.amazonaws.services.dynamodbv2.model.DeleteItemRequest;
import com.amazonaws.services.dynamodbv2.model.ExpectedAttributeValue;
/**
* Enables adding options to a delete operation.
* For example, you may want to delete only if an attribute has a particular value.
* @see DynamoDBMapper#delete(Object, DynamoDBDeleteExpression)
*/
public class DynamoDBDeleteExpression {
/** Optional expected attributes */
private Map expectedAttributes;
/** The logical operator on the expected attribute conditions */
private String conditionalOperator;
/**
* A condition that must be satisfied in order for a conditional
* DeleteItem to succeed.
*/
private String conditionExpression;
/**
* One or more substitution variables for simplifying complex
* expressions.
*/
private java.util.Map expressionAttributeNames;
/**
* One or more values that can be substituted in an expression.
*/
private java.util.Map expressionAttributeValues;
/**
* Gets the map of attribute names to expected attribute values to check on delete.
*
* @return The map of attribute names to expected attribute value conditions to check on delete
*/
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 delete
*/
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 delete
*/
public DynamoDBDeleteExpression 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 DynamoDBDeleteExpression withExpectedEntry(String attributeName, ExpectedAttributeValue expected) {
if (expectedAttributes == null) {
expectedAttributes = new HashMap();
}
expectedAttributes.put(attributeName, expected);
return this;
}
/**
* Returns the logical operator on the expected attribute conditions of this
* delete operation.
*/
public String getConditionalOperator() {
return conditionalOperator;
}
/**
* Sets the logical operator on the expected attribute conditions of this
* delete operation.
*/
public void setConditionalOperator(String conditionalOperator) {
this.conditionalOperator = conditionalOperator;
}
/**
* Sets the logical operator on the expected attribute conditions of this
* delete operation and returns a pointer to this object for
* method-chaining.
*/
public DynamoDBDeleteExpression withConditionalOperator(String conditionalOperator) {
setConditionalOperator(conditionalOperator);
return this;
}
/**
* Sets the logical operator on the expected attribute conditions of this
* delete operation.
*/
public void setConditionalOperator(ConditionalOperator conditionalOperator) {
setConditionalOperator(conditionalOperator.toString());
}
/**
* Sets the logical operator on the expected attribute conditions of this
* delete operation and returns a pointer to this object for
* method-chaining.
*/
public DynamoDBDeleteExpression withConditionalOperator(ConditionalOperator conditionalOperator) {
return withConditionalOperator(conditionalOperator.toString());
}
/**
* A condition that must be satisfied in order for a conditional DeleteItem
* to succeed.
*
* @see DeleteItemRequest#getConditionExpression()
*/
public String getConditionExpression() {
return conditionExpression;
}
/**
* A condition that must be satisfied in order for a conditional DeleteItem
* to succeed.
*
* @see DeleteItemRequest#setConditionExpression()
*/
public void setConditionExpression(String conditionExpression) {
this.conditionExpression = conditionExpression;
}
/**
* A condition that must be satisfied in order for a conditional DeleteItem
* to succeed.
*
* @return A reference to this updated object so that method calls can be
* chained together.
*
* @see DeleteItemRequest#withConditionExpression(String)
*/
public DynamoDBDeleteExpression withConditionExpression(
String conditionExpression) {
this.conditionExpression = conditionExpression;
return this;
}
/**
* One or more substitution variables for simplifying complex expressions.
*
* @return One or more substitution variables for simplifying complex
* expressions.
* @see DeleteItemRequest#getExpressionAttributeNames()
*/
public java.util.Map getExpressionAttributeNames() {
return expressionAttributeNames;
}
/**
* One or more substitution variables for simplifying complex expressions.
*
* @param expressionAttributeNames
* One or more substitution variables for simplifying complex
* expressions.
* @see DeleteItemRequest#setExpressionAttributeNames(Map)
*/
public void setExpressionAttributeNames(
java.util.Map expressionAttributeNames) {
this.expressionAttributeNames = expressionAttributeNames;
}
/**
* One or more substitution variables for simplifying complex expressions.
*
* @param expressionAttributeNames
* One or more substitution variables for simplifying complex
* expressions.
*
* @return A reference to this updated object so that method calls can be
* chained together.
* @see DeleteItemRequest#withExpressionAttributeNames(Map)
*/
public DynamoDBDeleteExpression withExpressionAttributeNames(
java.util.Map expressionAttributeNames) {
setExpressionAttributeNames(expressionAttributeNames);
return this;
}
/**
* One or more substitution variables for simplifying complex expressions.
* The method adds a new key-value pair into ExpressionAttributeNames
* parameter, and returns a reference to this object so that method calls
* can be chained together.
*
* @param key
* The key of the entry to be added into
* ExpressionAttributeNames.
* @param value
* The corresponding value of the entry to be added into
* ExpressionAttributeNames.
*
* @see DeleteItemRequest#addExpressionAttributeNamesEntry(String, String)
*/
public DynamoDBDeleteExpression addExpressionAttributeNamesEntry(
String key, String value) {
if (null == this.expressionAttributeNames) {
this.expressionAttributeNames = new java.util.HashMap();
}
if (this.expressionAttributeNames.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.expressionAttributeNames.put(key, value);
return this;
}
/**
* Removes all the entries added into ExpressionAttributeNames.
*
* Returns a reference to this object so that method calls can be chained
* together.
*/
public DynamoDBDeleteExpression clearExpressionAttributeNamesEntries() {
this.expressionAttributeNames = null;
return this;
}
/**
* One or more values that can be substituted in an expression.
*
* @return One or more values that can be substituted in an expression.
* @see DeleteItemRequest#getExpressionAttributeValues()
*/
public java.util.Map getExpressionAttributeValues() {
return expressionAttributeValues;
}
/**
* One or more values that can be substituted in an expression.
*
* @param expressionAttributeValues
* One or more values that can be substituted in an expression.
*
* @see DeleteItemRequest#setExpressionAttributeValues(Map)
*/
public void setExpressionAttributeValues(
java.util.Map expressionAttributeValues) {
this.expressionAttributeValues = expressionAttributeValues;
}
/**
* One or more values that can be substituted in an expression.
*
* @param expressionAttributeValues
* One or more values that can be substituted in an expression.
*
* @return A reference to this updated object so that method calls can be
* chained together.
* @see DeleteItemRequest#withExpressionAttributeValues(Map)
*/
public DynamoDBDeleteExpression withExpressionAttributeValues(
java.util.Map expressionAttributeValues) {
setExpressionAttributeValues(expressionAttributeValues);
return this;
}
/**
* One or more values that can be substituted in an expression. The method
* adds a new key-value pair into ExpressionAttributeValues parameter, and
* returns a reference to this object so that method calls can be chained
* together.
*
* @param key
* The key of the entry to be added into
* ExpressionAttributeValues.
* @param value
* The corresponding value of the entry to be added into
* ExpressionAttributeValues.
*
* @see DeleteItemRequest#addExpressionAttributeValuesEntry(String,
* AttributeValue)
*/
public DynamoDBDeleteExpression addExpressionAttributeValuesEntry(
String key, AttributeValue value) {
if (null == this.expressionAttributeValues) {
this.expressionAttributeValues = new java.util.HashMap();
}
if (this.expressionAttributeValues.containsKey(key))
throw new IllegalArgumentException("Duplicated keys ("
+ key.toString() + ") are provided.");
this.expressionAttributeValues.put(key, value);
return this;
}
/**
* Removes all the entries added into ExpressionAttributeValues.
*
* Returns a reference to this object so that method calls can be chained
* together.
*/
public DynamoDBDeleteExpression clearExpressionAttributeValuesEntries() {
this.expressionAttributeValues = null;
return this;
}
}