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

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not
 * use this file except in compliance with the License. A copy of the License is
 * located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.dynamodbv2.model;

import java.io.Serializable;

/**
 * 

* Represents the 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