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

com.amazonaws.services.dynamodbv2.model.TableDescription 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.9.11
Show newest version
/*
 * Copyright 2010-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 properties of a table. *

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

* An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema. *

*

* Each AttributeDefinition object in this array is composed of: *

*
    *
  • *

    * AttributeName - The name of the attribute. *

    *
  • *
  • *

    * AttributeType - The data type for the attribute. *

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

* The name of the table. *

*/ private String tableName; /** *

* The primary key structure for the table. Each KeySchemaElement * consists of: *

*
    *
  • *

    * AttributeName - The name of the attribute. *

    *
  • *
  • *

    * KeyType - The role of the attribute: *

    *
      *
    • *

      * HASH - partition key *

      *
    • *
    • *

      * RANGE - sort key *

      *
    • *
    * *

    * The partition key of an item is also known as its hash attribute. * The term "hash attribute" derives from DynamoDB' usage of an internal * hash function to evenly distribute data items across partitions, based on * their partition key values. *

    *

    * The sort key of an item is also known as its range attribute. The * term "range attribute" derives from the way DynamoDB stores items with * the same partition key physically close together, in sorted order by the * sort key value. *

    *
  • *
*

* For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. *

*/ private java.util.List keySchema; /** *

* The current state of the table: *

*
    *
  • *

    * CREATING - The table is being created. *

    *
  • *
  • *

    * UPDATING - The table is being updated. *

    *
  • *
  • *

    * DELETING - The table is being deleted. *

    *
  • *
  • *

    * ACTIVE - The table is ready for use. *

    *
  • *
*/ private String tableStatus; /** *

* The date and time when the table was created, in UNIX epoch time format. *

*/ private java.util.Date creationDateTime; /** *

* The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *

*/ private ProvisionedThroughputDescription provisionedThroughput; /** *

* The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. *

*/ private Long tableSizeBytes; /** *

* The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in * this value. *

*/ private Long itemCount; /** *

* The Amazon Resource Name (ARN) that uniquely identifies the table. *

*/ private String tableArn; /** *

* Represents one or more local secondary indexes on the table. Each index * is scoped to a given partition key value. Tables with one or more local * secondary indexes are subject to an item collection size limit, where the * amount of data within a given item collection cannot exceed 10 GB. Each * element is composed of: *

*
    *
  • *

    * IndexName - The name of the local secondary index. *

    *
  • *
  • *

    * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

    *
  • *
  • *

    * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

        * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

        *
      • *
      • *

        * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

        *
      • *
      • *

        * ALL - All of the table attributes are projected into the * index. *

        *
      • *
      *
    • *
    • *

      * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

      *
    • *
    *
  • *
  • *

    * IndexSizeBytes - Represents the total size of the index, in bytes. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

    *
  • *
  • *

    * ItemCount - Represents the number of items in the index. DynamoDB * updates this value approximately every six hours. Recent changes might * not be reflected in this value. *

    *
  • *
*

* If the table is in the DELETING state, no information about * indexes will be returned. *

*/ private java.util.List localSecondaryIndexes; /** *

* The global secondary indexes, if any, on the table. Each index is scoped * to a given partition key value. Each element is composed of: *

*
    *
  • *

    * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary * index is added to the table; it is the process by which DynamoDB * populates the new index with data from the table. (This attribute does * not appear for indexes that were created during a CreateTable * operation.) *

    *
  • *
  • *

    * IndexName - The name of the global secondary index. *

    *
  • *
  • *

    * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

    *
  • *
  • *

    * IndexStatus - The current status of the global secondary index: *

    *
      *
    • *

      * CREATING - The index is being created. *

      *
    • *
    • *

      * UPDATING - The index is being updated. *

      *
    • *
    • *

      * DELETING - The index is being deleted. *

      *
    • *
    • *

      * ACTIVE - The index is ready for use. *

      *
    • *
    *
  • *
  • *

    * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

    *
  • *
  • *

    * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

    *
  • *
  • *

    * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

    *
      *
    • *

      * ProjectionType - One of the following: *

      *
        *
      • *

        * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

        *
      • *
      • *

        * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

        *
      • *
      • *

        * ALL - All of the table attributes are projected into the * index. *

        *
      • *
      *
    • *
    • *

      * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

      *
    • *
    *
  • *
  • *

    * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units, * along with data about increases and decreases. *

    *
  • *
*

* If the table is in the DELETING state, no information about * indexes will be returned. *

*/ private java.util.List globalSecondaryIndexes; /** *

* The current DynamoDB Streams configuration for the table. *

*/ private StreamSpecification streamSpecification; /** *

* A timestamp, in ISO 8601 format, for this stream. *

*

* Note that LatestStreamLabel is not a unique identifier for the * stream, because it is possible that a stream from another table might * have the same timestamp. However, the combination of the following three * elements is guaranteed to be unique: *

*
    *
  • *

    * the AWS customer ID. *

    *
  • *
  • *

    * the table name. *

    *
  • *
  • *

    * the StreamLabel. *

    *
  • *
*/ private String latestStreamLabel; /** *

* The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *

*/ private String latestStreamArn; /** *

* An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema. *

*

* Each AttributeDefinition object in this array is composed of: *

*
    *
  • *

    * AttributeName - The name of the attribute. *

    *
  • *
  • *

    * AttributeType - The data type for the attribute. *

    *
  • *
* * @return An array of AttributeDefinition objects. Each of these * objects describes one attribute in the table and index key * schema.

*

* Each AttributeDefinition object in this array is composed * of: *

*
    *
  • *

    * AttributeName - The name of the attribute. *

    *
  • *
  • *

    * AttributeType - The data type for the attribute. *

    *
  • */ public java.util.List getAttributeDefinitions() { return attributeDefinitions; } /** *

    * An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema. *

    *

    * Each AttributeDefinition object in this array is composed of: *

    *
      *
    • *

      * AttributeName - The name of the attribute. *

      *
    • *
    • *

      * AttributeType - The data type for the attribute. *

      *
    • *
    * * @param attributeDefinitions * An array of AttributeDefinition objects. Each of these * objects describes one attribute in the table and index key * schema.

    *

    * Each AttributeDefinition object in this array is composed * of: *

    *
      *
    • *

      * AttributeName - The name of the attribute. *

      *
    • *
    • *

      * AttributeType - The data type for the attribute. *

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

      * An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema. *

      *

      * Each AttributeDefinition object in this array is composed of: *

      *
        *
      • *

        * AttributeName - The name of the attribute. *

        *
      • *
      • *

        * AttributeType - The data type for the attribute. *

        *
      • *
      *

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

      * * @param attributeDefinitions * An array of AttributeDefinition objects. Each of these * objects describes one attribute in the table and index key * schema.

      *

      * Each AttributeDefinition object in this array is composed * of: *

      *
        *
      • *

        * AttributeName - The name of the attribute. *

        *
      • *
      • *

        * AttributeType - The data type for the attribute. *

        *
      • * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withAttributeDefinitions( AttributeDefinition... attributeDefinitions) { if (this.attributeDefinitions == null) { setAttributeDefinitions(new java.util.ArrayList( attributeDefinitions.length)); } for (AttributeDefinition ele : attributeDefinitions) { this.attributeDefinitions.add(ele); } return this; } /** *

        * An array of AttributeDefinition objects. Each of these objects * describes one attribute in the table and index key schema. *

        *

        * Each AttributeDefinition object in this array is composed of: *

        *
          *
        • *

          * AttributeName - The name of the attribute. *

          *
        • *
        • *

          * AttributeType - The data type for the attribute. *

          *
        • *
        * * @param attributeDefinitions * An array of AttributeDefinition objects. Each of these * objects describes one attribute in the table and index key * schema.

        *

        * Each AttributeDefinition object in this array is composed * of: *

        *
          *
        • *

          * AttributeName - The name of the attribute. *

          *
        • *
        • *

          * AttributeType - The data type for the attribute. *

          *
        • * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withAttributeDefinitions( java.util.Collection attributeDefinitions) { setAttributeDefinitions(attributeDefinitions); return this; } /** *

          * The name of the table. *

          * * @param tableName * The name of the table. */ public void setTableName(String tableName) { this.tableName = tableName; } /** *

          * The name of the table. *

          * * @return The name of the table. */ public String getTableName() { return this.tableName; } /** *

          * The name of the table. *

          * * @param tableName * The name of the table. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withTableName(String tableName) { setTableName(tableName); return this; } /** *

          * The primary key structure for the table. Each KeySchemaElement * consists of: *

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash attribute. * The term "hash attribute" derives from DynamoDB' usage of an internal * hash function to evenly distribute data items across partitions, based on * their partition key values. *

            *

            * The sort key of an item is also known as its range attribute. The * term "range attribute" derives from the way DynamoDB stores items with * the same partition key physically close together, in sorted order by the * sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. *

          * * @return The primary key structure for the table. Each * KeySchemaElement consists of:

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash * attribute. The term "hash attribute" derives from DynamoDB' * usage of an internal hash function to evenly distribute data * items across partitions, based on their partition key values. *

            *

            * The sort key of an item is also known as its range * attribute. The term "range attribute" derives from the way * DynamoDB stores items with the same partition key physically * close together, in sorted order by the sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. */ public java.util.List getKeySchema() { return keySchema; } /** *

          * The primary key structure for the table. Each KeySchemaElement * consists of: *

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash attribute. * The term "hash attribute" derives from DynamoDB' usage of an internal * hash function to evenly distribute data items across partitions, based on * their partition key values. *

            *

            * The sort key of an item is also known as its range attribute. The * term "range attribute" derives from the way DynamoDB stores items with * the same partition key physically close together, in sorted order by the * sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. *

          * * @param keySchema * The primary key structure for the table. Each * KeySchemaElement consists of:

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash * attribute. The term "hash attribute" derives from DynamoDB' * usage of an internal hash function to evenly distribute data items * across partitions, based on their partition key values. *

            *

            * The sort key of an item is also known as its range * attribute. The term "range attribute" derives from the way * DynamoDB stores items with the same partition key physically close * together, in sorted order by the sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. */ public void setKeySchema(java.util.Collection keySchema) { if (keySchema == null) { this.keySchema = null; return; } this.keySchema = new java.util.ArrayList(keySchema); } /** *

          * The primary key structure for the table. Each KeySchemaElement * consists of: *

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash attribute. * The term "hash attribute" derives from DynamoDB' usage of an internal * hash function to evenly distribute data items across partitions, based on * their partition key values. *

            *

            * The sort key of an item is also known as its range attribute. The * term "range attribute" derives from the way DynamoDB stores items with * the same partition key physically close together, in sorted order by the * sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. *

          *

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

          * * @param keySchema * The primary key structure for the table. Each * KeySchemaElement consists of:

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash * attribute. The term "hash attribute" derives from DynamoDB' * usage of an internal hash function to evenly distribute data items * across partitions, based on their partition key values. *

            *

            * The sort key of an item is also known as its range * attribute. The term "range attribute" derives from the way * DynamoDB stores items with the same partition key physically close * together, in sorted order by the sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withKeySchema(KeySchemaElement... keySchema) { if (this.keySchema == null) { setKeySchema(new java.util.ArrayList( keySchema.length)); } for (KeySchemaElement ele : keySchema) { this.keySchema.add(ele); } return this; } /** *

          * The primary key structure for the table. Each KeySchemaElement * consists of: *

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash attribute. * The term "hash attribute" derives from DynamoDB' usage of an internal * hash function to evenly distribute data items across partitions, based on * their partition key values. *

            *

            * The sort key of an item is also known as its range attribute. The * term "range attribute" derives from the way DynamoDB stores items with * the same partition key physically close together, in sorted order by the * sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. *

          * * @param keySchema * The primary key structure for the table. Each * KeySchemaElement consists of:

          *
            *
          • *

            * AttributeName - The name of the attribute. *

            *
          • *
          • *

            * KeyType - The role of the attribute: *

            *
              *
            • *

              * HASH - partition key *

              *
            • *
            • *

              * RANGE - sort key *

              *
            • *
            * *

            * The partition key of an item is also known as its hash * attribute. The term "hash attribute" derives from DynamoDB' * usage of an internal hash function to evenly distribute data items * across partitions, based on their partition key values. *

            *

            * The sort key of an item is also known as its range * attribute. The term "range attribute" derives from the way * DynamoDB stores items with the same partition key physically close * together, in sorted order by the sort key value. *

            *
          • *
          *

          * For more information about primary keys, see Primary Key in the Amazon DynamoDB Developer Guide. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withKeySchema( java.util.Collection keySchema) { setKeySchema(keySchema); return this; } /** *

          * The current state of the table: *

          *
            *
          • *

            * CREATING - The table is being created. *

            *
          • *
          • *

            * UPDATING - The table is being updated. *

            *
          • *
          • *

            * DELETING - The table is being deleted. *

            *
          • *
          • *

            * ACTIVE - The table is ready for use. *

            *
          • *
          * * @param tableStatus * The current state of the table:

          *
            *
          • *

            * CREATING - The table is being created. *

            *
          • *
          • *

            * UPDATING - The table is being updated. *

            *
          • *
          • *

            * DELETING - The table is being deleted. *

            *
          • *
          • *

            * ACTIVE - The table is ready for use. *

            *
          • * @see TableStatus */ public void setTableStatus(String tableStatus) { this.tableStatus = tableStatus; } /** *

            * The current state of the table: *

            *
              *
            • *

              * CREATING - The table is being created. *

              *
            • *
            • *

              * UPDATING - The table is being updated. *

              *
            • *
            • *

              * DELETING - The table is being deleted. *

              *
            • *
            • *

              * ACTIVE - The table is ready for use. *

              *
            • *
            * * @return The current state of the table:

            *
              *
            • *

              * CREATING - The table is being created. *

              *
            • *
            • *

              * UPDATING - The table is being updated. *

              *
            • *
            • *

              * DELETING - The table is being deleted. *

              *
            • *
            • *

              * ACTIVE - The table is ready for use. *

              *
            • * @see TableStatus */ public String getTableStatus() { return this.tableStatus; } /** *

              * The current state of the table: *

              *
                *
              • *

                * CREATING - The table is being created. *

                *
              • *
              • *

                * UPDATING - The table is being updated. *

                *
              • *
              • *

                * DELETING - The table is being deleted. *

                *
              • *
              • *

                * ACTIVE - The table is ready for use. *

                *
              • *
              * * @param tableStatus * The current state of the table:

              *
                *
              • *

                * CREATING - The table is being created. *

                *
              • *
              • *

                * UPDATING - The table is being updated. *

                *
              • *
              • *

                * DELETING - The table is being deleted. *

                *
              • *
              • *

                * ACTIVE - The table is ready for use. *

                *
              • * @return Returns a reference to this object so that method calls can be * chained together. * @see TableStatus */ public TableDescription withTableStatus(String tableStatus) { setTableStatus(tableStatus); return this; } /** *

                * The current state of the table: *

                *
                  *
                • *

                  * CREATING - The table is being created. *

                  *
                • *
                • *

                  * UPDATING - The table is being updated. *

                  *
                • *
                • *

                  * DELETING - The table is being deleted. *

                  *
                • *
                • *

                  * ACTIVE - The table is ready for use. *

                  *
                • *
                * * @param tableStatus * The current state of the table:

                *
                  *
                • *

                  * CREATING - The table is being created. *

                  *
                • *
                • *

                  * UPDATING - The table is being updated. *

                  *
                • *
                • *

                  * DELETING - The table is being deleted. *

                  *
                • *
                • *

                  * ACTIVE - The table is ready for use. *

                  *
                • * @see TableStatus */ public void setTableStatus(TableStatus tableStatus) { this.tableStatus = tableStatus.toString(); } /** *

                  * The current state of the table: *

                  *
                    *
                  • *

                    * CREATING - The table is being created. *

                    *
                  • *
                  • *

                    * UPDATING - The table is being updated. *

                    *
                  • *
                  • *

                    * DELETING - The table is being deleted. *

                    *
                  • *
                  • *

                    * ACTIVE - The table is ready for use. *

                    *
                  • *
                  * * @param tableStatus * The current state of the table:

                  *
                    *
                  • *

                    * CREATING - The table is being created. *

                    *
                  • *
                  • *

                    * UPDATING - The table is being updated. *

                    *
                  • *
                  • *

                    * DELETING - The table is being deleted. *

                    *
                  • *
                  • *

                    * ACTIVE - The table is ready for use. *

                    *
                  • * @return Returns a reference to this object so that method calls can be * chained together. * @see TableStatus */ public TableDescription withTableStatus(TableStatus tableStatus) { setTableStatus(tableStatus); return this; } /** *

                    * The date and time when the table was created, in UNIX epoch time format. *

                    * * @param creationDateTime * The date and time when the table was created, in UNIX epoch time format. */ public void setCreationDateTime(java.util.Date creationDateTime) { this.creationDateTime = creationDateTime; } /** *

                    * The date and time when the table was created, in UNIX epoch time format. *

                    * * @return The date and time when the table was created, in UNIX epoch time format. */ public java.util.Date getCreationDateTime() { return this.creationDateTime; } /** *

                    * The date and time when the table was created, in UNIX epoch time format. *

                    * * @param creationDateTime * The date and time when the table was created, in UNIX epoch time format. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withCreationDateTime(java.util.Date creationDateTime) { setCreationDateTime(creationDateTime); return this; } /** *

                    * The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *

                    * * @param provisionedThroughput * The provisioned throughput settings for the table, consisting of * read and write capacity units, along with data about increases and * decreases. */ public void setProvisionedThroughput( ProvisionedThroughputDescription provisionedThroughput) { this.provisionedThroughput = provisionedThroughput; } /** *

                    * The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *

                    * * @return The provisioned throughput settings for the table, consisting of * read and write capacity units, along with data about increases * and decreases. */ public ProvisionedThroughputDescription getProvisionedThroughput() { return this.provisionedThroughput; } /** *

                    * The provisioned throughput settings for the table, consisting of read and * write capacity units, along with data about increases and decreases. *

                    * * @param provisionedThroughput * The provisioned throughput settings for the table, consisting of * read and write capacity units, along with data about increases and * decreases. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withProvisionedThroughput( ProvisionedThroughputDescription provisionedThroughput) { setProvisionedThroughput(provisionedThroughput); return this; } /** *

                    * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. *

                    * * @param tableSizeBytes * The total size of the specified table, in bytes. DynamoDB updates * this value approximately every six hours. Recent changes might not * be reflected in this value. */ public void setTableSizeBytes(Long tableSizeBytes) { this.tableSizeBytes = tableSizeBytes; } /** *

                    * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. *

                    * * @return The total size of the specified table, in bytes. DynamoDB updates * this value approximately every six hours. Recent changes might * not be reflected in this value. */ public Long getTableSizeBytes() { return this.tableSizeBytes; } /** *

                    * The total size of the specified table, in bytes. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. *

                    * * @param tableSizeBytes * The total size of the specified table, in bytes. DynamoDB updates * this value approximately every six hours. Recent changes might not * be reflected in this value. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withTableSizeBytes(Long tableSizeBytes) { setTableSizeBytes(tableSizeBytes); return this; } /** *

                    * The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in * this value. *

                    * * @param itemCount * The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ public void setItemCount(Long itemCount) { this.itemCount = itemCount; } /** *

                    * The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in * this value. *

                    * * @return The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. */ public Long getItemCount() { return this.itemCount; } /** *

                    * The number of items in the specified table. DynamoDB updates this value * approximately every six hours. Recent changes might not be reflected in * this value. *

                    * * @param itemCount * The number of items in the specified table. DynamoDB updates this * value approximately every six hours. Recent changes might not be * reflected in this value. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withItemCount(Long itemCount) { setItemCount(itemCount); return this; } /** *

                    * The Amazon Resource Name (ARN) that uniquely identifies the table. *

                    * * @param tableArn * The Amazon Resource Name (ARN) that uniquely identifies the table. */ public void setTableArn(String tableArn) { this.tableArn = tableArn; } /** *

                    * The Amazon Resource Name (ARN) that uniquely identifies the table. *

                    * * @return The Amazon Resource Name (ARN) that uniquely identifies the * table. */ public String getTableArn() { return this.tableArn; } /** *

                    * The Amazon Resource Name (ARN) that uniquely identifies the table. *

                    * * @param tableArn * The Amazon Resource Name (ARN) that uniquely identifies the table. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withTableArn(String tableArn) { setTableArn(tableArn); return this; } /** *

                    * Represents one or more local secondary indexes on the table. Each index * is scoped to a given partition key value. Tables with one or more local * secondary indexes are subject to an item collection size limit, where the * amount of data within a given item collection cannot exceed 10 GB. Each * element is composed of: *

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in bytes. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. DynamoDB * updates this value approximately every six hours. Recent changes might * not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    * * @return Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one * or more local secondary indexes are subject to an item collection * size limit, where the amount of data within a given item * collection cannot exceed 10 GB. Each element is composed of:

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed * across all of the secondary indexes, must not exceed 20. If you * project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, * in bytes. DynamoDB updates this value approximately every six * hours. Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no * information about indexes will be returned. */ public java.util.List getLocalSecondaryIndexes() { return localSecondaryIndexes; } /** *

                    * Represents one or more local secondary indexes on the table. Each index * is scoped to a given partition key value. Tables with one or more local * secondary indexes are subject to an item collection size limit, where the * amount of data within a given item collection cannot exceed 10 GB. Each * element is composed of: *

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in bytes. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. DynamoDB * updates this value approximately every six hours. Recent changes might * not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    * * @param localSecondaryIndexes * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection * size limit, where the amount of data within a given item * collection cannot exceed 10 GB. Each element is composed of:

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total count * of attributes provided in NonKeyAttributes, summed across * all of the secondary indexes, must not exceed 20. If you project * the same attribute into two different indexes, this counts as two * distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in * bytes. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information * about indexes will be returned. */ public void setLocalSecondaryIndexes( java.util.Collection localSecondaryIndexes) { if (localSecondaryIndexes == null) { this.localSecondaryIndexes = null; return; } this.localSecondaryIndexes = new java.util.ArrayList( localSecondaryIndexes); } /** *

                    * Represents one or more local secondary indexes on the table. Each index * is scoped to a given partition key value. Tables with one or more local * secondary indexes are subject to an item collection size limit, where the * amount of data within a given item collection cannot exceed 10 GB. Each * element is composed of: *

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in bytes. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. DynamoDB * updates this value approximately every six hours. Recent changes might * not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    *

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

                    * * @param localSecondaryIndexes * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection * size limit, where the amount of data within a given item * collection cannot exceed 10 GB. Each element is composed of:

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total count * of attributes provided in NonKeyAttributes, summed across * all of the secondary indexes, must not exceed 20. If you project * the same attribute into two different indexes, this counts as two * distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in * bytes. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information * about indexes will be returned. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withLocalSecondaryIndexes( LocalSecondaryIndexDescription... localSecondaryIndexes) { if (this.localSecondaryIndexes == null) { setLocalSecondaryIndexes(new java.util.ArrayList( localSecondaryIndexes.length)); } for (LocalSecondaryIndexDescription ele : localSecondaryIndexes) { this.localSecondaryIndexes.add(ele); } return this; } /** *

                    * Represents one or more local secondary indexes on the table. Each index * is scoped to a given partition key value. Tables with one or more local * secondary indexes are subject to an item collection size limit, where the * amount of data within a given item collection cannot exceed 10 GB. Each * element is composed of: *

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in bytes. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. DynamoDB * updates this value approximately every six hours. Recent changes might * not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    * * @param localSecondaryIndexes * Represents one or more local secondary indexes on the table. Each * index is scoped to a given partition key value. Tables with one or * more local secondary indexes are subject to an item collection * size limit, where the amount of data within a given item * collection cannot exceed 10 GB. Each element is composed of:

                    *
                      *
                    • *

                      * IndexName - The name of the local secondary index. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total count * of attributes provided in NonKeyAttributes, summed across * all of the secondary indexes, must not exceed 20. If you project * the same attribute into two different indexes, this counts as two * distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * IndexSizeBytes - Represents the total size of the index, in * bytes. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * ItemCount - Represents the number of items in the index. * DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information * about indexes will be returned. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withLocalSecondaryIndexes( java.util.Collection localSecondaryIndexes) { setLocalSecondaryIndexes(localSecondaryIndexes); return this; } /** *

                    * The global secondary indexes, if any, on the table. Each index is scoped * to a given partition key value. Each element is composed of: *

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary * index is added to the table; it is the process by which DynamoDB * populates the new index with data from the table. (This attribute does * not appear for indexes that were created during a CreateTable * operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units, * along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    * * @return The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed * of:

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global * secondary index is added to the table; it is the process by which * DynamoDB populates the new index with data from the table. (This * attribute does not appear for indexes that were created during a * CreateTable operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary * index, in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary * index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary * index. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total * count of attributes provided in NonKeyAttributes, summed * across all of the secondary indexes, must not exceed 20. If you * project the same attribute into two different indexes, this * counts as two distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput * settings for the global secondary index, consisting of read and * write capacity units, along with data about increases and * decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no * information about indexes will be returned. */ public java.util.List getGlobalSecondaryIndexes() { return globalSecondaryIndexes; } /** *

                    * The global secondary indexes, if any, on the table. Each index is scoped * to a given partition key value. Each element is composed of: *

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary * index is added to the table; it is the process by which DynamoDB * populates the new index with data from the table. (This attribute does * not appear for indexes that were created during a CreateTable * operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units, * along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    * * @param globalSecondaryIndexes * The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed * of:

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global * secondary index is added to the table; it is the process by which * DynamoDB populates the new index with data from the table. (This * attribute does not appear for indexes that were created during a * CreateTable operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary * index, in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary * index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary * index. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total count * of attributes provided in NonKeyAttributes, summed across * all of the secondary indexes, must not exceed 20. If you project * the same attribute into two different indexes, this counts as two * distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings * for the global secondary index, consisting of read and write * capacity units, along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information * about indexes will be returned. */ public void setGlobalSecondaryIndexes( java.util.Collection globalSecondaryIndexes) { if (globalSecondaryIndexes == null) { this.globalSecondaryIndexes = null; return; } this.globalSecondaryIndexes = new java.util.ArrayList( globalSecondaryIndexes); } /** *

                    * The global secondary indexes, if any, on the table. Each index is scoped * to a given partition key value. Each element is composed of: *

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary * index is added to the table; it is the process by which DynamoDB * populates the new index with data from the table. (This attribute does * not appear for indexes that were created during a CreateTable * operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units, * along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    *

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

                    * * @param globalSecondaryIndexes * The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed * of:

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global * secondary index is added to the table; it is the process by which * DynamoDB populates the new index with data from the table. (This * attribute does not appear for indexes that were created during a * CreateTable operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary * index, in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary * index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary * index. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total count * of attributes provided in NonKeyAttributes, summed across * all of the secondary indexes, must not exceed 20. If you project * the same attribute into two different indexes, this counts as two * distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings * for the global secondary index, consisting of read and write * capacity units, along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information * about indexes will be returned. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withGlobalSecondaryIndexes( GlobalSecondaryIndexDescription... globalSecondaryIndexes) { if (this.globalSecondaryIndexes == null) { setGlobalSecondaryIndexes(new java.util.ArrayList( globalSecondaryIndexes.length)); } for (GlobalSecondaryIndexDescription ele : globalSecondaryIndexes) { this.globalSecondaryIndexes.add(ele); } return this; } /** *

                    * The global secondary indexes, if any, on the table. Each index is scoped * to a given partition key value. Each element is composed of: *

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global secondary * index is added to the table; it is the process by which DynamoDB * populates the new index with data from the table. (This attribute does * not appear for indexes that were created during a CreateTable * operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary index, in * bytes. DynamoDB updates this value approximately every six hours. Recent * changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary index. * DynamoDB updates this value approximately every six hours. Recent changes * might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The attribute * names in the key schema must be between 1 and 255 characters (inclusive). * The key schema must begin with the same partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied (projected) from * the table into the index. These are in addition to the primary key * attributes and index key attributes, which are automatically projected. * Each attribute specification is composed of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are projected * into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are projected * into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into the * index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute names * that are projected into the secondary index. The total count of * attributes provided in NonKeyAttributes, summed across all of the * secondary indexes, must not exceed 20. If you project the same attribute * into two different indexes, this counts as two distinct attributes when * determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings for * the global secondary index, consisting of read and write capacity units, * along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information about * indexes will be returned. *

                    * * @param globalSecondaryIndexes * The global secondary indexes, if any, on the table. Each index is * scoped to a given partition key value. Each element is composed * of:

                    *
                      *
                    • *

                      * Backfilling - If true, then the index is currently in the * backfilling phase. Backfilling occurs only when a new global * secondary index is added to the table; it is the process by which * DynamoDB populates the new index with data from the table. (This * attribute does not appear for indexes that were created during a * CreateTable operation.) *

                      *
                    • *
                    • *

                      * IndexName - The name of the global secondary index. *

                      *
                    • *
                    • *

                      * IndexSizeBytes - The total size of the global secondary * index, in bytes. DynamoDB updates this value approximately every * six hours. Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * IndexStatus - The current status of the global secondary * index: *

                      *
                        *
                      • *

                        * CREATING - The index is being created. *

                        *
                      • *
                      • *

                        * UPDATING - The index is being updated. *

                        *
                      • *
                      • *

                        * DELETING - The index is being deleted. *

                        *
                      • *
                      • *

                        * ACTIVE - The index is ready for use. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ItemCount - The number of items in the global secondary * index. DynamoDB updates this value approximately every six hours. * Recent changes might not be reflected in this value. *

                      *
                    • *
                    • *

                      * KeySchema - Specifies the complete index key schema. The * attribute names in the key schema must be between 1 and 255 * characters (inclusive). The key schema must begin with the same * partition key as the table. *

                      *
                    • *
                    • *

                      * Projection - Specifies attributes that are copied * (projected) from the table into the index. These are in addition * to the primary key attributes and index key attributes, which are * automatically projected. Each attribute specification is composed * of: *

                      *
                        *
                      • *

                        * ProjectionType - One of the following: *

                        *
                          *
                        • *

                          * KEYS_ONLY - Only the index and primary keys are * projected into the index. *

                          *
                        • *
                        • *

                          * INCLUDE - Only the specified table attributes are * projected into the index. The list of projected attributes are in * NonKeyAttributes. *

                          *
                        • *
                        • *

                          * ALL - All of the table attributes are projected into * the index. *

                          *
                        • *
                        *
                      • *
                      • *

                        * NonKeyAttributes - A list of one or more non-key attribute * names that are projected into the secondary index. The total count * of attributes provided in NonKeyAttributes, summed across * all of the secondary indexes, must not exceed 20. If you project * the same attribute into two different indexes, this counts as two * distinct attributes when determining the total. *

                        *
                      • *
                      *
                    • *
                    • *

                      * ProvisionedThroughput - The provisioned throughput settings * for the global secondary index, consisting of read and write * capacity units, along with data about increases and decreases. *

                      *
                    • *
                    *

                    * If the table is in the DELETING state, no information * about indexes will be returned. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withGlobalSecondaryIndexes( java.util.Collection globalSecondaryIndexes) { setGlobalSecondaryIndexes(globalSecondaryIndexes); return this; } /** *

                    * The current DynamoDB Streams configuration for the table. *

                    * * @param streamSpecification * The current DynamoDB Streams configuration for the table. */ public void setStreamSpecification(StreamSpecification streamSpecification) { this.streamSpecification = streamSpecification; } /** *

                    * The current DynamoDB Streams configuration for the table. *

                    * * @return The current DynamoDB Streams configuration for the table. */ public StreamSpecification getStreamSpecification() { return this.streamSpecification; } /** *

                    * The current DynamoDB Streams configuration for the table. *

                    * * @param streamSpecification * The current DynamoDB Streams configuration for the table. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withStreamSpecification( StreamSpecification streamSpecification) { setStreamSpecification(streamSpecification); return this; } /** *

                    * A timestamp, in ISO 8601 format, for this stream. *

                    *

                    * Note that LatestStreamLabel is not a unique identifier for the * stream, because it is possible that a stream from another table might * have the same timestamp. However, the combination of the following three * elements is guaranteed to be unique: *

                    *
                      *
                    • *

                      * the AWS customer ID. *

                      *
                    • *
                    • *

                      * the table name. *

                      *
                    • *
                    • *

                      * the StreamLabel. *

                      *
                    • *
                    * * @param latestStreamLabel * A timestamp, in ISO 8601 format, for this stream.

                    *

                    * Note that LatestStreamLabel is not a unique identifier for * the stream, because it is possible that a stream from another * table might have the same timestamp. However, the combination of * the following three elements is guaranteed to be unique: *

                    *
                      *
                    • *

                      * the AWS customer ID. *

                      *
                    • *
                    • *

                      * the table name. *

                      *
                    • *
                    • *

                      * the StreamLabel. *

                      *
                    • */ public void setLatestStreamLabel(String latestStreamLabel) { this.latestStreamLabel = latestStreamLabel; } /** *

                      * A timestamp, in ISO 8601 format, for this stream. *

                      *

                      * Note that LatestStreamLabel is not a unique identifier for the * stream, because it is possible that a stream from another table might * have the same timestamp. However, the combination of the following three * elements is guaranteed to be unique: *

                      *
                        *
                      • *

                        * the AWS customer ID. *

                        *
                      • *
                      • *

                        * the table name. *

                        *
                      • *
                      • *

                        * the StreamLabel. *

                        *
                      • *
                      * * @return A timestamp, in ISO 8601 format, for this stream.

                      *

                      * Note that LatestStreamLabel is not a unique identifier for * the stream, because it is possible that a stream from another * table might have the same timestamp. However, the combination of * the following three elements is guaranteed to be unique: *

                      *
                        *
                      • *

                        * the AWS customer ID. *

                        *
                      • *
                      • *

                        * the table name. *

                        *
                      • *
                      • *

                        * the StreamLabel. *

                        *
                      • */ public String getLatestStreamLabel() { return this.latestStreamLabel; } /** *

                        * A timestamp, in ISO 8601 format, for this stream. *

                        *

                        * Note that LatestStreamLabel is not a unique identifier for the * stream, because it is possible that a stream from another table might * have the same timestamp. However, the combination of the following three * elements is guaranteed to be unique: *

                        *
                          *
                        • *

                          * the AWS customer ID. *

                          *
                        • *
                        • *

                          * the table name. *

                          *
                        • *
                        • *

                          * the StreamLabel. *

                          *
                        • *
                        * * @param latestStreamLabel * A timestamp, in ISO 8601 format, for this stream.

                        *

                        * Note that LatestStreamLabel is not a unique identifier for * the stream, because it is possible that a stream from another * table might have the same timestamp. However, the combination of * the following three elements is guaranteed to be unique: *

                        *
                          *
                        • *

                          * the AWS customer ID. *

                          *
                        • *
                        • *

                          * the table name. *

                          *
                        • *
                        • *

                          * the StreamLabel. *

                          *
                        • * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withLatestStreamLabel(String latestStreamLabel) { setLatestStreamLabel(latestStreamLabel); return this; } /** *

                          * The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *

                          * * @param latestStreamArn * The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. */ public void setLatestStreamArn(String latestStreamArn) { this.latestStreamArn = latestStreamArn; } /** *

                          * The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *

                          * * @return The Amazon Resource Name (ARN) that uniquely identifies the * latest stream for this table. */ public String getLatestStreamArn() { return this.latestStreamArn; } /** *

                          * The Amazon Resource Name (ARN) that uniquely identifies the latest stream * for this table. *

                          * * @param latestStreamArn * The Amazon Resource Name (ARN) that uniquely identifies the latest * stream for this table. * @return Returns a reference to this object so that method calls can be * chained together. */ public TableDescription withLatestStreamArn(String latestStreamArn) { setLatestStreamArn(latestStreamArn); 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 (getAttributeDefinitions() != null) sb.append("AttributeDefinitions: " + getAttributeDefinitions() + ","); if (getTableName() != null) sb.append("TableName: " + getTableName() + ","); if (getKeySchema() != null) sb.append("KeySchema: " + getKeySchema() + ","); if (getTableStatus() != null) sb.append("TableStatus: " + getTableStatus() + ","); if (getCreationDateTime() != null) sb.append("CreationDateTime: " + getCreationDateTime() + ","); if (getProvisionedThroughput() != null) sb.append("ProvisionedThroughput: " + getProvisionedThroughput() + ","); if (getTableSizeBytes() != null) sb.append("TableSizeBytes: " + getTableSizeBytes() + ","); if (getItemCount() != null) sb.append("ItemCount: " + getItemCount() + ","); if (getTableArn() != null) sb.append("TableArn: " + getTableArn() + ","); if (getLocalSecondaryIndexes() != null) sb.append("LocalSecondaryIndexes: " + getLocalSecondaryIndexes() + ","); if (getGlobalSecondaryIndexes() != null) sb.append("GlobalSecondaryIndexes: " + getGlobalSecondaryIndexes() + ","); if (getStreamSpecification() != null) sb.append("StreamSpecification: " + getStreamSpecification() + ","); if (getLatestStreamLabel() != null) sb.append("LatestStreamLabel: " + getLatestStreamLabel() + ","); if (getLatestStreamArn() != null) sb.append("LatestStreamArn: " + getLatestStreamArn()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof TableDescription == false) return false; TableDescription other = (TableDescription) obj; if (other.getAttributeDefinitions() == null ^ this.getAttributeDefinitions() == null) return false; if (other.getAttributeDefinitions() != null && other.getAttributeDefinitions().equals( this.getAttributeDefinitions()) == false) return false; if (other.getTableName() == null ^ this.getTableName() == null) return false; if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getKeySchema() == null ^ this.getKeySchema() == null) return false; if (other.getKeySchema() != null && other.getKeySchema().equals(this.getKeySchema()) == false) return false; if (other.getTableStatus() == null ^ this.getTableStatus() == null) return false; if (other.getTableStatus() != null && other.getTableStatus().equals(this.getTableStatus()) == false) return false; if (other.getCreationDateTime() == null ^ this.getCreationDateTime() == null) return false; if (other.getCreationDateTime() != null && other.getCreationDateTime().equals( this.getCreationDateTime()) == false) return false; if (other.getProvisionedThroughput() == null ^ this.getProvisionedThroughput() == null) return false; if (other.getProvisionedThroughput() != null && other.getProvisionedThroughput().equals( this.getProvisionedThroughput()) == false) return false; if (other.getTableSizeBytes() == null ^ this.getTableSizeBytes() == null) return false; if (other.getTableSizeBytes() != null && other.getTableSizeBytes().equals(this.getTableSizeBytes()) == false) return false; if (other.getItemCount() == null ^ this.getItemCount() == null) return false; if (other.getItemCount() != null && other.getItemCount().equals(this.getItemCount()) == false) return false; if (other.getTableArn() == null ^ this.getTableArn() == null) return false; if (other.getTableArn() != null && other.getTableArn().equals(this.getTableArn()) == false) return false; if (other.getLocalSecondaryIndexes() == null ^ this.getLocalSecondaryIndexes() == null) return false; if (other.getLocalSecondaryIndexes() != null && other.getLocalSecondaryIndexes().equals( this.getLocalSecondaryIndexes()) == false) return false; if (other.getGlobalSecondaryIndexes() == null ^ this.getGlobalSecondaryIndexes() == null) return false; if (other.getGlobalSecondaryIndexes() != null && other.getGlobalSecondaryIndexes().equals( this.getGlobalSecondaryIndexes()) == false) return false; if (other.getStreamSpecification() == null ^ this.getStreamSpecification() == null) return false; if (other.getStreamSpecification() != null && other.getStreamSpecification().equals( this.getStreamSpecification()) == false) return false; if (other.getLatestStreamLabel() == null ^ this.getLatestStreamLabel() == null) return false; if (other.getLatestStreamLabel() != null && other.getLatestStreamLabel().equals( this.getLatestStreamLabel()) == false) return false; if (other.getLatestStreamArn() == null ^ this.getLatestStreamArn() == null) return false; if (other.getLatestStreamArn() != null && other.getLatestStreamArn().equals(this.getLatestStreamArn()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAttributeDefinitions() == null) ? 0 : getAttributeDefinitions().hashCode()); hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode()); hashCode = prime * hashCode + ((getKeySchema() == null) ? 0 : getKeySchema().hashCode()); hashCode = prime * hashCode + ((getTableStatus() == null) ? 0 : getTableStatus().hashCode()); hashCode = prime * hashCode + ((getCreationDateTime() == null) ? 0 : getCreationDateTime() .hashCode()); hashCode = prime * hashCode + ((getProvisionedThroughput() == null) ? 0 : getProvisionedThroughput().hashCode()); hashCode = prime * hashCode + ((getTableSizeBytes() == null) ? 0 : getTableSizeBytes() .hashCode()); hashCode = prime * hashCode + ((getItemCount() == null) ? 0 : getItemCount().hashCode()); hashCode = prime * hashCode + ((getTableArn() == null) ? 0 : getTableArn().hashCode()); hashCode = prime * hashCode + ((getLocalSecondaryIndexes() == null) ? 0 : getLocalSecondaryIndexes().hashCode()); hashCode = prime * hashCode + ((getGlobalSecondaryIndexes() == null) ? 0 : getGlobalSecondaryIndexes().hashCode()); hashCode = prime * hashCode + ((getStreamSpecification() == null) ? 0 : getStreamSpecification().hashCode()); hashCode = prime * hashCode + ((getLatestStreamLabel() == null) ? 0 : getLatestStreamLabel().hashCode()); hashCode = prime * hashCode + ((getLatestStreamArn() == null) ? 0 : getLatestStreamArn() .hashCode()); return hashCode; } @Override public TableDescription clone() { try { return (TableDescription) 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