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

com.amazonaws.services.dynamodbv2.model.BatchWriteItemRequest Maven / Gradle / Ivy

Go to download

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

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2010-2014 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.model;

import java.io.Serializable;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.dynamodbv2.AmazonDynamoDB#batchWriteItem(BatchWriteItemRequest) BatchWriteItem operation}.
 * 

* The BatchWriteItem operation puts or deletes multiple items in * one or more tables. A single call to BatchWriteItem can write * up to 16 MB of data, which can comprise as many as 25 put or delete * requests. Individual items to be written can be as large as 400 KB. *

*

* NOTE: BatchWriteItem cannot update items. To update items, use * the UpdateItem API. *

*

* The individual PutItem and DeleteItem operations * specified in BatchWriteItem are atomic; however * BatchWriteItem as a whole is not. If any requested operations * fail because the table's provisioned throughput is exceeded or an * internal processing failure occurs, the failed operations are returned * in the UnprocessedItems response parameter. You can investigate * and optionally resend the requests. Typically, you would call * BatchWriteItem in a loop. Each iteration would check for * unprocessed items and submit a new BatchWriteItem request with * those unprocessed items until all items have been processed. *

*

* Note that if none of the items can be processed due to * insufficient provisioned throughput on all of the tables in the * request, then BatchWriteItem will return a * ProvisionedThroughputExceededException . *

*

* IMPORTANT: If DynamoDB returns any unprocessed items, you * should retry the batch operation on those items. However, we strongly * recommend that you use an exponential backoff algorithm. If you retry * the batch operation immediately, the underlying read or write requests * can still fail due to throttling on the individual tables. If you * delay the batch operation using exponential backoff, the individual * requests in the batch are much more likely to succeed. For more * information, go to Batch Operations and Error Handling in the Amazon * DynamoDB Developer Guide. *

*

* With BatchWriteItem , you can efficiently write or delete large * amounts of data, such as from Amazon Elastic MapReduce (EMR), or copy * data from another database into DynamoDB. In order to improve * performance with these large-scale operations, BatchWriteItem * does not behave in the same way as individual PutItem and * DeleteItem calls would For example, you cannot specify * conditions on individual put and delete requests, and * BatchWriteItem does not return deleted items in the response. *

*

* If you use a programming language that supports concurrency, such as * Java, you can use threads to write items in parallel. Your application * must include the necessary logic to manage the threads. With languages * that don't support threading, such as PHP, you must update or delete * the specified items one at a time. In both situations, * BatchWriteItem provides an alternative where the API performs * the specified put and delete operations in parallel, giving you the * power of the thread pool approach without having to introduce * complexity into your application. *

*

* Parallel processing reduces latency, but each specified put and delete * request consumes the same number of write capacity units whether it is * processed in parallel or not. Delete operations on nonexistent items * consume one write capacity unit. *

*

* If one or more of the following is true, DynamoDB rejects the entire * batch write operation: *

* *
    *
  • * One or more tables specified in the BatchWriteItem request does * not exist. *

    *
  • *
  • * Primary key attributes specified on an item in the request do not * match those in the corresponding table's primary key schema. *

    *
  • *
  • * You try to perform multiple operations on the same item in the same * BatchWriteItem request. For example, you cannot put and delete * the same item in the same BatchWriteItem request. *

    *
  • *
  • * There are more than 25 requests in the batch. *

    *
  • *
  • * Any individual item in a batch exceeds 400 KB. *

    *
  • *
  • * The total request size exceeds 16 MB. *

    *
  • * *
* * @see com.amazonaws.services.dynamodbv2.AmazonDynamoDB#batchWriteItem(BatchWriteItemRequest) */ public class BatchWriteItemRequest extends AmazonWebServiceRequest implements Serializable { /** * A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *
  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*

* Constraints:
* Length: 1 - 25
*/ private java.util.Map> requestItems; /** * A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE */ private String returnConsumedCapacity; /** * A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. *

* Constraints:
* Allowed Values: SIZE, NONE */ private String returnItemCollectionMetrics; /** * Default constructor for a new BatchWriteItemRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public BatchWriteItemRequest() {} /** * Constructs a new BatchWriteItemRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param requestItems A map of one or more table names and, for each * table, a list of operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *

  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*/ public BatchWriteItemRequest(java.util.Map> requestItems) { setRequestItems(requestItems); } /** * A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *
  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*

* Constraints:
* Length: 1 - 25
* * @return A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *

  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*/ public java.util.Map> getRequestItems() { return requestItems; } /** * A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *
  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*

* Constraints:
* Length: 1 - 25
* * @param requestItems A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *

  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*/ public void setRequestItems(java.util.Map> requestItems) { this.requestItems = requestItems; } /** * A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *
  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 - 25
* * @param requestItems A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *

  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

* * @return A reference to this updated object so that method calls can be chained * together. */ public BatchWriteItemRequest withRequestItems(java.util.Map> requestItems) { setRequestItems(requestItems); return this; } /** * A map of one or more table names and, for each table, a list of * operations to be performed (DeleteRequest or * PutRequest). Each element in the map consists of the following: *
  • DeleteRequest - Perform a DeleteItem * operation on the specified item. The item to be deleted is identified * by a Key subelement:

    • Key - A map of primary * key attribute values that uniquely identify the ! item. Each entry in * this map consists of an attribute name and an attribute value. For * each primary key, you must provide all of the key attributes. * For example, with a hash type primary key, you only need to specify * the hash attribute. For a hash-and-range type primary key, you must * specify both the hash attribute and the range attribute.

    • *
  • PutRequest - Perform a PutItem * operation on the specified item. The item to be put is identified by * an Item subelement:

    • Item - A map of * attributes and their values. Each entry in this map consists of an * attribute name and an attribute value. Attribute values must not be * null; string and binary type attributes must have lengths greater than * zero; and set type attributes must not be empty. Requests that contain * empty values will be rejected with a ValidationException * exception.

      If you specify any attributes that are part of an index * key, then the data types for those attributes must match those of the * schema in the table's attribute definition.

*

* The method adds a new key-value pair into RequestItems parameter, and * returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 1 - 25
* * @param key The key of the entry to be added into RequestItems. * @param value The corresponding value of the entry to be added into RequestItems. */ public BatchWriteItemRequest addRequestItemsEntry(String key, java.util.List value) { if (null == this.requestItems) { this.requestItems = new java.util.HashMap>(); } if (this.requestItems.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.requestItems.put(key, value); return this; } /** * Removes all the entries added into RequestItems. *

* Returns a reference to this object so that method calls can be chained together. */ public BatchWriteItemRequest clearRequestItemsEntries() { this.requestItems = null; return this; } /** * A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @return A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public String getReturnConsumedCapacity() { return returnConsumedCapacity; } /** * A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public void setReturnConsumedCapacity(String returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity; } /** * A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnConsumedCapacity */ public BatchWriteItemRequest withReturnConsumedCapacity(String returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity; return this; } /** * A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public void setReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); } /** * A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity A value that if set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnConsumedCapacity */ public BatchWriteItemRequest withReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); return this; } /** * A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. *

* Constraints:
* Allowed Values: SIZE, NONE * * @return A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. * * @see ReturnItemCollectionMetrics */ public String getReturnItemCollectionMetrics() { return returnItemCollectionMetrics; } /** * A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. *

* Constraints:
* Allowed Values: SIZE, NONE * * @param returnItemCollectionMetrics A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. * * @see ReturnItemCollectionMetrics */ public void setReturnItemCollectionMetrics(String returnItemCollectionMetrics) { this.returnItemCollectionMetrics = returnItemCollectionMetrics; } /** * A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: SIZE, NONE * * @param returnItemCollectionMetrics A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnItemCollectionMetrics */ public BatchWriteItemRequest withReturnItemCollectionMetrics(String returnItemCollectionMetrics) { this.returnItemCollectionMetrics = returnItemCollectionMetrics; return this; } /** * A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. *

* Constraints:
* Allowed Values: SIZE, NONE * * @param returnItemCollectionMetrics A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. * * @see ReturnItemCollectionMetrics */ public void setReturnItemCollectionMetrics(ReturnItemCollectionMetrics returnItemCollectionMetrics) { this.returnItemCollectionMetrics = returnItemCollectionMetrics.toString(); } /** * A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: SIZE, NONE * * @param returnItemCollectionMetrics A value that if set to SIZE, the response includes * statistics about item collections, if any, that were modified during * the operation are returned in the response. If set to * NONE (the default), no statistics are returned. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnItemCollectionMetrics */ public BatchWriteItemRequest withReturnItemCollectionMetrics(ReturnItemCollectionMetrics returnItemCollectionMetrics) { this.returnItemCollectionMetrics = returnItemCollectionMetrics.toString(); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getRequestItems() != null) sb.append("RequestItems: " + getRequestItems() + ","); if (getReturnConsumedCapacity() != null) sb.append("ReturnConsumedCapacity: " + getReturnConsumedCapacity() + ","); if (getReturnItemCollectionMetrics() != null) sb.append("ReturnItemCollectionMetrics: " + getReturnItemCollectionMetrics() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getRequestItems() == null) ? 0 : getRequestItems().hashCode()); hashCode = prime * hashCode + ((getReturnConsumedCapacity() == null) ? 0 : getReturnConsumedCapacity().hashCode()); hashCode = prime * hashCode + ((getReturnItemCollectionMetrics() == null) ? 0 : getReturnItemCollectionMetrics().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof BatchWriteItemRequest == false) return false; BatchWriteItemRequest other = (BatchWriteItemRequest)obj; if (other.getRequestItems() == null ^ this.getRequestItems() == null) return false; if (other.getRequestItems() != null && other.getRequestItems().equals(this.getRequestItems()) == false) return false; if (other.getReturnConsumedCapacity() == null ^ this.getReturnConsumedCapacity() == null) return false; if (other.getReturnConsumedCapacity() != null && other.getReturnConsumedCapacity().equals(this.getReturnConsumedCapacity()) == false) return false; if (other.getReturnItemCollectionMetrics() == null ^ this.getReturnItemCollectionMetrics() == null) return false; if (other.getReturnItemCollectionMetrics() != null && other.getReturnItemCollectionMetrics().equals(this.getReturnItemCollectionMetrics()) == false) return false; return true; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy