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

com.amazonaws.services.dynamodbv2.model.BatchWriteItemResult 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. 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;

/**
 * 

* Represents the output of a BatchWriteItem operation. *

*/ public class BatchWriteItemResult implements Serializable, Cloneable { /** *

* A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form as * RequestItems, so you can provide this value directly to a * subsequent BatchGetItem operation. For more information, see * RequestItems in the Request Parameters section. *

*

* Each UnprocessedItems entry consists of a table name and, for that * table, a list of operations to perform (DeleteRequest or * PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response contains an * empty UnprocessedItems map. *

*/ private java.util.Map> unprocessedItems; /** *

* A list of tables that were processed by BatchWriteItem and, for * each table, information about any item collections that were affected by * individual DeleteItem or PutItem operations. *

*

* Each entry consists of the following subelements: *

*
    *
  • *

    * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the item. *

    *
  • *
  • *

    * SizeEstimateRange - An estimate of item collection size, expressed * in GB. This is a two-element array containing a lower bound and an upper * bound for the estimate. The estimate includes the size of all the items * in the table, plus the size of all attributes projected into all of the * local secondary indexes on the table. Use this estimate to measure * whether a local secondary index is approaching its size limit. *

    *

    * The estimate is subject to change over time; therefore, do not rely on * the precision or accuracy of the estimate. *

    *
  • *
*/ private java.util.Map> itemCollectionMetrics; /** *

* The capacity units consumed by the operation. *

*

* Each element consists of: *

*
    *
  • *

    * TableName - The table that consumed the provisioned throughput. *

    *
  • *
  • *

    * CapacityUnits - The total number of capacity units consumed. *

    *
  • *
*/ private java.util.List consumedCapacity; /** *

* A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form as * RequestItems, so you can provide this value directly to a * subsequent BatchGetItem operation. For more information, see * RequestItems in the Request Parameters section. *

*

* Each UnprocessedItems entry consists of a table name and, for that * table, a list of operations to perform (DeleteRequest or * PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response contains an * empty UnprocessedItems map. *

* * @return A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form * as RequestItems, so you can provide this value directly to * a subsequent BatchGetItem operation. For more information, * see RequestItems in the Request Parameters section.

*

* Each UnprocessedItems entry consists of a table name and, * for that table, a list of operations to perform * (DeleteRequest or PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response * contains an empty UnprocessedItems map. */ public java.util.Map> getUnprocessedItems() { return unprocessedItems; } /** *

* A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form as * RequestItems, so you can provide this value directly to a * subsequent BatchGetItem operation. For more information, see * RequestItems in the Request Parameters section. *

*

* Each UnprocessedItems entry consists of a table name and, for that * table, a list of operations to perform (DeleteRequest or * PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response contains an * empty UnprocessedItems map. *

* * @param unprocessedItems * A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form * as RequestItems, so you can provide this value directly to * a subsequent BatchGetItem operation. For more information, * see RequestItems in the Request Parameters section.

*

* Each UnprocessedItems entry consists of a table name and, * for that table, a list of operations to perform * (DeleteRequest or PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response contains * an empty UnprocessedItems map. */ public void setUnprocessedItems( java.util.Map> unprocessedItems) { this.unprocessedItems = unprocessedItems; } /** *

* A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form as * RequestItems, so you can provide this value directly to a * subsequent BatchGetItem operation. For more information, see * RequestItems in the Request Parameters section. *

*

* Each UnprocessedItems entry consists of a table name and, for that * table, a list of operations to perform (DeleteRequest or * PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response contains an * empty UnprocessedItems map. *

* * @param unprocessedItems * A map of tables and requests against those tables that were not * processed. The UnprocessedItems value is in the same form * as RequestItems, so you can provide this value directly to * a subsequent BatchGetItem operation. For more information, * see RequestItems in the Request Parameters section.

*

* Each UnprocessedItems entry consists of a table name and, * for that table, a list of operations to perform * (DeleteRequest or PutRequest). *

*
    *
  • *

    * 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. *

      *
    • *
    *
  • *
  • *

    * 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. *

      *
    • *
    *
  • *
*

* If there are no unprocessed items remaining, the response contains * an empty UnprocessedItems map. * @return Returns a reference to this object so that method calls can be * chained together. */ public BatchWriteItemResult withUnprocessedItems( java.util.Map> unprocessedItems) { setUnprocessedItems(unprocessedItems); return this; } public BatchWriteItemResult addUnprocessedItemsEntry(String key, java.util.List value) { if (null == this.unprocessedItems) { this.unprocessedItems = new java.util.HashMap>(); } if (this.unprocessedItems.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.unprocessedItems.put(key, value); return this; } /** * Removes all the entries added into UnprocessedItems. <p> Returns a * reference to this object so that method calls can be chained together. */ public BatchWriteItemResult clearUnprocessedItemsEntries() { this.unprocessedItems = null; return this; } /** *

* A list of tables that were processed by BatchWriteItem and, for * each table, information about any item collections that were affected by * individual DeleteItem or PutItem operations. *

*

* Each entry consists of the following subelements: *

*
    *
  • *

    * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the item. *

    *
  • *
  • *

    * SizeEstimateRange - An estimate of item collection size, expressed * in GB. This is a two-element array containing a lower bound and an upper * bound for the estimate. The estimate includes the size of all the items * in the table, plus the size of all attributes projected into all of the * local secondary indexes on the table. Use this estimate to measure * whether a local secondary index is approaching its size limit. *

    *

    * The estimate is subject to change over time; therefore, do not rely on * the precision or accuracy of the estimate. *

    *
  • *
* * @return A list of tables that were processed by BatchWriteItem * and, for each table, information about any item collections that * were affected by individual DeleteItem or PutItem * operations.

*

* Each entry consists of the following subelements: *

*
    *
  • *

    * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the * item. *

    *
  • *
  • *

    * SizeEstimateRange - An estimate of item collection size, * expressed in GB. This is a two-element array containing a lower * bound and an upper bound for the estimate. The estimate includes * the size of all the items in the table, plus the size of all * attributes projected into all of the local secondary indexes on * the table. Use this estimate to measure whether a local secondary * index is approaching its size limit. *

    *

    * The estimate is subject to change over time; therefore, do not * rely on the precision or accuracy of the estimate. *

    *
  • */ public java.util.Map> getItemCollectionMetrics() { return itemCollectionMetrics; } /** *

    * A list of tables that were processed by BatchWriteItem and, for * each table, information about any item collections that were affected by * individual DeleteItem or PutItem operations. *

    *

    * Each entry consists of the following subelements: *

    *
      *
    • *

      * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the item. *

      *
    • *
    • *

      * SizeEstimateRange - An estimate of item collection size, expressed * in GB. This is a two-element array containing a lower bound and an upper * bound for the estimate. The estimate includes the size of all the items * in the table, plus the size of all attributes projected into all of the * local secondary indexes on the table. Use this estimate to measure * whether a local secondary index is approaching its size limit. *

      *

      * The estimate is subject to change over time; therefore, do not rely on * the precision or accuracy of the estimate. *

      *
    • *
    * * @param itemCollectionMetrics * A list of tables that were processed by BatchWriteItem and, * for each table, information about any item collections that were * affected by individual DeleteItem or PutItem * operations.

    *

    * Each entry consists of the following subelements: *

    *
      *
    • *

      * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the * item. *

      *
    • *
    • *

      * SizeEstimateRange - An estimate of item collection size, * expressed in GB. This is a two-element array containing a lower * bound and an upper bound for the estimate. The estimate includes * the size of all the items in the table, plus the size of all * attributes projected into all of the local secondary indexes on * the table. Use this estimate to measure whether a local secondary * index is approaching its size limit. *

      *

      * The estimate is subject to change over time; therefore, do not * rely on the precision or accuracy of the estimate. *

      *
    • */ public void setItemCollectionMetrics( java.util.Map> itemCollectionMetrics) { this.itemCollectionMetrics = itemCollectionMetrics; } /** *

      * A list of tables that were processed by BatchWriteItem and, for * each table, information about any item collections that were affected by * individual DeleteItem or PutItem operations. *

      *

      * Each entry consists of the following subelements: *

      *
        *
      • *

        * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the item. *

        *
      • *
      • *

        * SizeEstimateRange - An estimate of item collection size, expressed * in GB. This is a two-element array containing a lower bound and an upper * bound for the estimate. The estimate includes the size of all the items * in the table, plus the size of all attributes projected into all of the * local secondary indexes on the table. Use this estimate to measure * whether a local secondary index is approaching its size limit. *

        *

        * The estimate is subject to change over time; therefore, do not rely on * the precision or accuracy of the estimate. *

        *
      • *
      * * @param itemCollectionMetrics * A list of tables that were processed by BatchWriteItem and, * for each table, information about any item collections that were * affected by individual DeleteItem or PutItem * operations.

      *

      * Each entry consists of the following subelements: *

      *
        *
      • *

        * ItemCollectionKey - The partition key value of the item * collection. This is the same as the partition key value of the * item. *

        *
      • *
      • *

        * SizeEstimateRange - An estimate of item collection size, * expressed in GB. This is a two-element array containing a lower * bound and an upper bound for the estimate. The estimate includes * the size of all the items in the table, plus the size of all * attributes projected into all of the local secondary indexes on * the table. Use this estimate to measure whether a local secondary * index is approaching its size limit. *

        *

        * The estimate is subject to change over time; therefore, do not * rely on the precision or accuracy of the estimate. *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public BatchWriteItemResult withItemCollectionMetrics( java.util.Map> itemCollectionMetrics) { setItemCollectionMetrics(itemCollectionMetrics); return this; } public BatchWriteItemResult addItemCollectionMetricsEntry(String key, java.util.List value) { if (null == this.itemCollectionMetrics) { this.itemCollectionMetrics = new java.util.HashMap>(); } if (this.itemCollectionMetrics.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.itemCollectionMetrics.put(key, value); return this; } /** * Removes all the entries added into ItemCollectionMetrics. <p> Returns * a reference to this object so that method calls can be chained together. */ public BatchWriteItemResult clearItemCollectionMetricsEntries() { this.itemCollectionMetrics = null; return this; } /** *

        * The capacity units consumed by the operation. *

        *

        * Each element consists of: *

        *
          *
        • *

          * TableName - The table that consumed the provisioned throughput. *

          *
        • *
        • *

          * CapacityUnits - The total number of capacity units consumed. *

          *
        • *
        * * @return The capacity units consumed by the operation.

        *

        * Each element consists of: *

        *
          *
        • *

          * TableName - The table that consumed the provisioned * throughput. *

          *
        • *
        • *

          * CapacityUnits - The total number of capacity units * consumed. *

          *
        • */ public java.util.List getConsumedCapacity() { return consumedCapacity; } /** *

          * The capacity units consumed by the operation. *

          *

          * Each element consists of: *

          *
            *
          • *

            * TableName - The table that consumed the provisioned throughput. *

            *
          • *
          • *

            * CapacityUnits - The total number of capacity units consumed. *

            *
          • *
          * * @param consumedCapacity * The capacity units consumed by the operation.

          *

          * Each element consists of: *

          *
            *
          • *

            * TableName - The table that consumed the provisioned * throughput. *

            *
          • *
          • *

            * CapacityUnits - The total number of capacity units * consumed. *

            *
          • */ public void setConsumedCapacity( java.util.Collection consumedCapacity) { if (consumedCapacity == null) { this.consumedCapacity = null; return; } this.consumedCapacity = new java.util.ArrayList( consumedCapacity); } /** *

            * The capacity units consumed by the operation. *

            *

            * Each element consists of: *

            *
              *
            • *

              * TableName - The table that consumed the provisioned throughput. *

              *
            • *
            • *

              * CapacityUnits - The total number of capacity units consumed. *

              *
            • *
            *

            * NOTE: This method appends the values to the existing list (if * any). Use {@link #setConsumedCapacity(java.util.Collection)} or * {@link #withConsumedCapacity(java.util.Collection)} if you want to * override the existing values. *

            * * @param consumedCapacity * The capacity units consumed by the operation.

            *

            * Each element consists of: *

            *
              *
            • *

              * TableName - The table that consumed the provisioned * throughput. *

              *
            • *
            • *

              * CapacityUnits - The total number of capacity units * consumed. *

              *
            • * @return Returns a reference to this object so that method calls can be * chained together. */ public BatchWriteItemResult withConsumedCapacity( ConsumedCapacity... consumedCapacity) { if (this.consumedCapacity == null) { setConsumedCapacity(new java.util.ArrayList( consumedCapacity.length)); } for (ConsumedCapacity ele : consumedCapacity) { this.consumedCapacity.add(ele); } return this; } /** *

              * The capacity units consumed by the operation. *

              *

              * Each element consists of: *

              *
                *
              • *

                * TableName - The table that consumed the provisioned throughput. *

                *
              • *
              • *

                * CapacityUnits - The total number of capacity units consumed. *

                *
              • *
              * * @param consumedCapacity * The capacity units consumed by the operation.

              *

              * Each element consists of: *

              *
                *
              • *

                * TableName - The table that consumed the provisioned * throughput. *

                *
              • *
              • *

                * CapacityUnits - The total number of capacity units * consumed. *

                *
              • * @return Returns a reference to this object so that method calls can be * chained together. */ public BatchWriteItemResult withConsumedCapacity( java.util.Collection consumedCapacity) { setConsumedCapacity(consumedCapacity); 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 (getUnprocessedItems() != null) sb.append("UnprocessedItems: " + getUnprocessedItems() + ","); if (getItemCollectionMetrics() != null) sb.append("ItemCollectionMetrics: " + getItemCollectionMetrics() + ","); if (getConsumedCapacity() != null) sb.append("ConsumedCapacity: " + getConsumedCapacity()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof BatchWriteItemResult == false) return false; BatchWriteItemResult other = (BatchWriteItemResult) obj; if (other.getUnprocessedItems() == null ^ this.getUnprocessedItems() == null) return false; if (other.getUnprocessedItems() != null && other.getUnprocessedItems().equals( this.getUnprocessedItems()) == false) return false; if (other.getItemCollectionMetrics() == null ^ this.getItemCollectionMetrics() == null) return false; if (other.getItemCollectionMetrics() != null && other.getItemCollectionMetrics().equals( this.getItemCollectionMetrics()) == false) return false; if (other.getConsumedCapacity() == null ^ this.getConsumedCapacity() == null) return false; if (other.getConsumedCapacity() != null && other.getConsumedCapacity().equals( this.getConsumedCapacity()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getUnprocessedItems() == null) ? 0 : getUnprocessedItems() .hashCode()); hashCode = prime * hashCode + ((getItemCollectionMetrics() == null) ? 0 : getItemCollectionMetrics().hashCode()); hashCode = prime * hashCode + ((getConsumedCapacity() == null) ? 0 : getConsumedCapacity() .hashCode()); return hashCode; } @Override public BatchWriteItemResult clone() { try { return (BatchWriteItemResult) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy