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

com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBDeleteExpression Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
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.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; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy