com.amazonaws.services.dynamodbv2.datamodeling

## クラス DynamoDBMapper

- java.lang.Object
- - com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapper

-     public class DynamoDBMapper
      extends java.lang.Object

  Object mapper for domain-object interaction with DynamoDB.

  To use, annotate domain classes with the annotations found in the com.amazonaws.services.dynamodbv2.datamodeling package. A minimal example:

       @DynamoDBTable(tableName = "TestTable")
       public class TestClass {

           private Long key;
           private double rangeKey;
           private Long version;

           private Set<Integer> integerSetAttribute;

           @DynamoDBHashKey
           public Long getKey() {
               return key;
           }

           public void setKey(Long key) {
               this.key = key;
           }

           @DynamoDBRangeKey
           public double getRangeKey() {
               return rangeKey;
           }

           public void setRangeKey(double rangeKey) {
               this.rangeKey = rangeKey;
           }

           @DynamoDBAttribute(attributeName = "integerSetAttribute")
           public Set<Integer> getIntegerAttribute() {
               return integerSetAttribute;
           }

           public void setIntegerAttribute(Set<Integer> integerAttribute) {
               this.integerSetAttribute = integerAttribute;
           }

           @DynamoDBVersionAttribute
           public Long getVersion() {
               return version;
           }

           public void setVersion(Long version) {
               this.version = version;
           }
       }

  Save instances of annotated classes to DynamoDB, retrieve them, and delete them using the `DynamoDBMapper` class, as in the following example.

       DynamoDBMapper mapper = new DynamoDBMapper(dynamoDBClient);
       Long hashKey = 105L;
       double rangeKey = 1.0d;
       TestClass obj = mapper.load(TestClass.class, hashKey, rangeKey);
       obj.getIntegerAttribute().add(42);
       mapper.save(obj);
       mapper.delete(obj);

  When using the save, load, and delete methods, `DynamoDBMapper` will throw `DynamoDBMappingException`s to indicate that domain classes are incorrectly annotated or otherwise incompatible with this class. Service exceptions will always be propagated as `AmazonClientException`, and DynamoDB-specific subclasses such as `ConditionalCheckFailedException` will be used when possible.

  This class is thread-safe and can be shared between threads. It's also very lightweight, so it doesn't need to be.

  関連項目:
    `DynamoDBTable`, `DynamoDBHashKey`, `DynamoDBRangeKey`, `DynamoDBAutoGeneratedKey`, `DynamoDBAttribute`, `DynamoDBVersionAttribute`, `DynamoDBIgnore`, `DynamoDBMarshalling`, `DynamoDBMapperConfig`

- - ### ネストされたクラスの概要

    ネストされたクラス
    修飾子とタイプ | クラスと説明
    --- | ---
    `static class` | `DynamoDBMapper.FailedBatch` The return type of batchWrite, batchDelete and batchSave.

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `DynamoDBMapper(AmazonDynamoDB dynamoDB)` Constructs a new mapper with the service object given, using the default configuration.
    `DynamoDBMapper(AmazonDynamoDB dynamoDB, DynamoDBMapperConfig config)` Constructs a new mapper with the service object and configuration given.

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `java.util.List<DynamoDBMapper.FailedBatch>` | `batchDelete(java.util.List<? extends java.lang.Object> objectsToDelete)` Deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
    `java.util.List<DynamoDBMapper.FailedBatch>` | `batchDelete(java.lang.Object... objectsToDelete)` Deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
    `java.util.Map<java.lang.String,java.util.List<java.lang.Object>>` | `batchLoad(java.util.List<java.lang.Object> itemsToGet)` Retrieves multiple items from multiple tables using their primary keys.
    `java.util.Map<java.lang.String,java.util.List<java.lang.Object>>` | `batchLoad(java.util.List<java.lang.Object> itemsToGet, DynamoDBMapperConfig config)` Retrieves multiple items from multiple tables using their primary keys.
    `java.util.Map<java.lang.String,java.util.List<java.lang.Object>>` | `batchLoad(java.util.Map<java.lang.Class<?>,java.util.List<KeyPair>> itemsToGet)` Retrieves the attributes for multiple items from multiple tables using their primary keys.
    `java.util.Map<java.lang.String,java.util.List<java.lang.Object>>` | `batchLoad(java.util.Map<java.lang.Class<?>,java.util.List<KeyPair>> itemsToGet, DynamoDBMapperConfig config)` Retrieves multiple items from multiple tables using their primary keys.
    `java.util.List<DynamoDBMapper.FailedBatch>` | `batchSave(java.util.List<? extends java.lang.Object> objectsToSave)` Saves the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
    `java.util.List<DynamoDBMapper.FailedBatch>` | `batchSave(java.lang.Object... objectsToSave)` Saves the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
    `java.util.List<DynamoDBMapper.FailedBatch>` | `batchWrite(java.util.List<? extends java.lang.Object> objectsToWrite, java.util.List<? extends java.lang.Object> objectsToDelete)` Saves and deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
    `java.util.List<DynamoDBMapper.FailedBatch>` | `batchWrite(java.util.List<? extends java.lang.Object> objectsToWrite, java.util.List<? extends java.lang.Object> objectsToDelete, DynamoDBMapperConfig config)` Saves and deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
    `int` | `count(java.lang.Class<?> clazz, DynamoDBScanExpression scanExpression)` Evaluates the specified scan expression and returns the count of matching items, without returning any of the actual item data, using the default configuration.
    `int` | `count(java.lang.Class<?> clazz, DynamoDBScanExpression scanExpression, DynamoDBMapperConfig config)` Evaluates the specified scan expression and returns the count of matching items, without returning any of the actual item data.
    `<T> int` | `count(java.lang.Class<T> clazz, DynamoDBQueryExpression<T> queryExpression)` Evaluates the specified query expression and returns the count of matching items, without returning any of the actual item data, using the default configuration.
    `<T> int` | `count(java.lang.Class<T> clazz, DynamoDBQueryExpression<T> queryExpression, DynamoDBMapperConfig config)` Evaluates the specified query expression and returns the count of matching items, without returning any of the actual item data.
    `void` | `delete(java.lang.Object object)` Deletes the given object from its DynamoDB table.
    `<T> void` | `delete(T object, DynamoDBMapperConfig config)` Deletes the given object from its DynamoDB table.
    `<T> T` | `load(java.lang.Class<T> clazz, java.lang.Object hashKey)` Loads an object with the hash key given, using the default configuration.
    `<T> T` | `load(java.lang.Class<T> clazz, java.lang.Object hashKey, DynamoDBMapperConfig config)` Loads an object with the hash key given and a configuration override.
    `<T> T` | `load(java.lang.Class<T> clazz, java.lang.Object hashKey, java.lang.Object rangeKey)` Loads an object with a hash and range key, using the default configuration.
    `<T> T` | `load(java.lang.Class<T> clazz, java.lang.Object hashKey, java.lang.Object rangeKey, DynamoDBMapperConfig config)` Returns an object with the given hash key, or null if no such object exists.
    `<T> T` | `load(T keyObject)` Returns an object whose keys match those of the prototype key object given, or null if no such item exists.
    `<T> T` | `load(T keyObject, DynamoDBMapperConfig config)` Returns an object whose keys match those of the prototype key object given, or null if no such item exists.
    `<T> T` | `marshallIntoObject(java.lang.Class<T> clazz, java.util.Map<java.lang.String,AttributeValue> itemAttributes)` Creates and fills in the attributes on an instance of the class given with the attributes given.
    `<T> java.util.List<T>` | `marshallIntoObjects(java.lang.Class<T> clazz, java.util.List<java.util.Map<java.lang.String,AttributeValue>> itemAttributes)` Marshalls the list of item attributes into objects of type clazz
    `<T> PaginatedParallelScanList<T>` | `parallelScan(java.lang.Class<T> clazz, DynamoDBScanExpression scanExpression, int totalSegments)` Scans through an Amazon DynamoDB table on logically partitioned segments in parallel and returns the matching results in one unmodifiable list of instantiated objects, using the default configuration.
    `<T> PaginatedParallelScanList<T>` | `parallelScan(java.lang.Class<T> clazz, DynamoDBScanExpression scanExpression, int totalSegments, DynamoDBMapperConfig config)` Scans through an Amazon DynamoDB table on logically partitioned segments in parallel.
    `<T> PaginatedQueryList<T>` | `query(java.lang.Class<T> clazz, DynamoDBQueryExpression<T> queryExpression)` Queries an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects, using the default configuration.
    `<T> PaginatedQueryList<T>` | `query(java.lang.Class<T> clazz, DynamoDBQueryExpression<T> queryExpression, DynamoDBMapperConfig config)` Queries an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects.
    `<T> QueryResultPage<T>` | `queryPage(java.lang.Class<T> clazz, DynamoDBQueryExpression<T> queryExpression)` Queries an Amazon DynamoDB table and returns a single page of matching results.
    `<T> QueryResultPage<T>` | `queryPage(java.lang.Class<T> clazz, DynamoDBQueryExpression<T> queryExpression, DynamoDBMapperConfig config)` Queries an Amazon DynamoDB table and returns a single page of matching results.
    `<T> void` | `save(T object)` Saves the object given into DynamoDB, using the default configuration.
    `<T> void` | `save(T object, DynamoDBMapperConfig config)` Saves an item in DynamoDB.
    `<T> PaginatedScanList<T>` | `scan(java.lang.Class<T> clazz, DynamoDBScanExpression scanExpression)` Scans through an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects, using the default configuration.
    `<T> PaginatedScanList<T>` | `scan(java.lang.Class<T> clazz, DynamoDBScanExpression scanExpression, DynamoDBMapperConfig config)` Scans through an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects.
    `<T> ScanResultPage<T>` | `scanPage(java.lang.Class<T> clazz, DynamoDBScanExpression scanExpression)` Scans through an Amazon DynamoDB table and returns a single page of matching results.
    `<T> ScanResultPage<T>` | `scanPage(java.lang.Class<T> clazz, DynamoDBScanExpression scanExpression, DynamoDBMapperConfig config)` Scans through an Amazon DynamoDB table and returns a single page of matching results.
    `protected java.util.Map<java.lang.String,AttributeValue>` | `transformAttributes(java.lang.Class<?> clazz, java.util.Map<java.lang.String,AttributeValue> attributeValues)` By default, just calls `transformAttributes(String, String, Map)`.
    `protected java.util.Map<java.lang.String,AttributeValue>` | `transformAttributes(java.lang.String hashKey, java.lang.String rangeKey, java.util.Map<java.lang.String,AttributeValue> attributeValues)` Transform attribute values prior to storing in DynamoDB.
    `protected java.util.Map<java.lang.String,AttributeValue>` | `untransformAttributes(java.lang.Class<?> clazz, java.util.Map<java.lang.String,AttributeValue> attributeValues)` By default, just calls `untransformAttributes(String, String, Map)`.
    `protected java.util.Map<java.lang.String,AttributeValue>` | `untransformAttributes(java.lang.String hashKey, java.lang.String rangeKey, java.util.Map<java.lang.String,AttributeValue> attributeValues)` Transforms the attribute values after loading from DynamoDb.

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### DynamoDBMapper

          public DynamoDBMapper(AmazonDynamoDB dynamoDB)

      Constructs a new mapper with the service object given, using the default configuration.
      パラメータ:
        `dynamoDB` - The service object to use for all service calls.
      関連項目:
        `DynamoDBMapperConfig.DEFAULT`

    - #### DynamoDBMapper

          public DynamoDBMapper(AmazonDynamoDB dynamoDB,
                        DynamoDBMapperConfig config)

      Constructs a new mapper with the service object and configuration given.
      パラメータ:
        `dynamoDB` - The service object to use for all service calls.
        `config` - The default configuration to use for all service calls. It can be overridden on a per-operation basis.

  - ### メソッドの詳細

    - #### load

          public <T> T load(java.lang.Class<T> clazz,
                   java.lang.Object hashKey,
                   DynamoDBMapperConfig config)

      Loads an object with the hash key given and a configuration override. This configuration overrides the default provided at object construction.
      関連項目:
        `load(Class, Object, Object, DynamoDBMapperConfig)`

    - #### load

          public <T> T load(java.lang.Class<T> clazz,
                   java.lang.Object hashKey)

      Loads an object with the hash key given, using the default configuration.
      関連項目:
        `load(Class, Object, Object, DynamoDBMapperConfig)`

    - #### load

          public <T> T load(java.lang.Class<T> clazz,
                   java.lang.Object hashKey,
                   java.lang.Object rangeKey)

      Loads an object with a hash and range key, using the default configuration.
      関連項目:
        `load(Class, Object, Object, DynamoDBMapperConfig)`

    - #### load

          public <T> T load(T keyObject)

      Returns an object whose keys match those of the prototype key object given, or null if no such item exists.
      パラメータ:
        `keyObject` - An object of the class to load with the keys values to match.
      関連項目:
        `load(Object, DynamoDBMapperConfig)`

    - #### load

          public <T> T load(T keyObject,
                   DynamoDBMapperConfig config)

      Returns an object whose keys match those of the prototype key object given, or null if no such item exists.
      パラメータ:
        `keyObject` - An object of the class to load with the keys values to match.
        `config` - Configuration for the service call to retrieve the object from DynamoDB. This configuration overrides the default given at construction.

    - #### load

          public <T> T load(java.lang.Class<T> clazz,
                   java.lang.Object hashKey,
                   java.lang.Object rangeKey,
                   DynamoDBMapperConfig config)

      Returns an object with the given hash key, or null if no such object exists.
      パラメータ:
        `clazz` - The class to load, corresponding to a DynamoDB table.
        `hashKey` - The key of the object.
        `rangeKey` - The range key of the object, or null for tables without a range key.
        `config` - Configuration for the service call to retrieve the object from DynamoDB. This configuration overrides the default given at construction.

    - #### marshallIntoObject

          public <T> T marshallIntoObject(java.lang.Class<T> clazz,
                                 java.util.Map<java.lang.String,AttributeValue> itemAttributes)

      Creates and fills in the attributes on an instance of the class given with the attributes given.

      This is accomplished by looking for getter methods annotated with an appropriate annotation, then looking for matching attribute names in the item attribute map.

      パラメータ:
        `clazz` - The class to instantiate and hydrate
        `itemAttributes` - The set of item attributes, keyed by attribute name.

    - #### marshallIntoObjects

          public <T> java.util.List<T> marshallIntoObjects(java.lang.Class<T> clazz,
                                                  java.util.List<java.util.Map<java.lang.String,AttributeValue>> itemAttributes)

      Marshalls the list of item attributes into objects of type clazz
      関連項目:
        `marshallIntoObject(Class, Map)`

    - #### save

          public <T> void save(T object)

      Saves the object given into DynamoDB, using the default configuration.
      関連項目:
        `save(Object, DynamoDBMapperConfig)`

    - #### save

          public <T> void save(T object,
                      DynamoDBMapperConfig config)

      Saves an item in DynamoDB. The service method used is determined by the `DynamoDBMapperConfig.getSaveBehavior()` value, to use either `AWSDynamoDB#putItem(PutItemRequest)` or `AWSDynamoDB#updateItem(UpdateItemRequest)`. For updates, a null value for an object property will remove it from that item in DynamoDB. For puts, a null value will not be passed to the service. The effect is therefore the same, except when the item in DynamoDB contains attributes that aren't modeled by the domain object given.
      パラメータ:
        `object` - The object to save into DynamoDB
        `config` - The configuration to use, which overrides the default provided at object construction.

    - #### delete

          public void delete(java.lang.Object object)

      Deletes the given object from its DynamoDB table.

    - #### delete

          public <T> void delete(T object,
                        DynamoDBMapperConfig config)

      Deletes the given object from its DynamoDB table.
      パラメータ:
        `config` - Config override object. If `DynamoDBMapperConfig.SaveBehavior.CLOBBER` is supplied, version fields will not be considered when deleting the object.

    - #### batchDelete

          public java.util.List<DynamoDBMapper.FailedBatch> batchDelete(java.util.List<? extends java.lang.Object> objectsToDelete)

      Deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
      関連項目:
        `batchWrite(List, List, DynamoDBMapperConfig)`

    - #### batchDelete

          public java.util.List<DynamoDBMapper.FailedBatch> batchDelete(java.lang.Object... objectsToDelete)

      Deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
      関連項目:
        `batchWrite(List, List, DynamoDBMapperConfig)`

    - #### batchSave

          public java.util.List<DynamoDBMapper.FailedBatch> batchSave(java.util.List<? extends java.lang.Object> objectsToSave)

      Saves the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
      関連項目:
        `batchWrite(List, List, DynamoDBMapperConfig)`

    - #### batchSave

          public java.util.List<DynamoDBMapper.FailedBatch> batchSave(java.lang.Object... objectsToSave)

      Saves the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
      関連項目:
        `batchWrite(List, List, DynamoDBMapperConfig)`

    - #### batchWrite

          public java.util.List<DynamoDBMapper.FailedBatch> batchWrite(java.util.List<? extends java.lang.Object> objectsToWrite,
                                                              java.util.List<? extends java.lang.Object> objectsToDelete)

      Saves and deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
      関連項目:
        `batchWrite(List, List, DynamoDBMapperConfig)`

    - #### batchWrite

          public java.util.List<DynamoDBMapper.FailedBatch> batchWrite(java.util.List<? extends java.lang.Object> objectsToWrite,
                                                              java.util.List<? extends java.lang.Object> objectsToDelete,
                                                              DynamoDBMapperConfig config)

      Saves and deletes the objects given using one or more calls to the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
      パラメータ:
        `objectsToWrite` - A list of objects to save to DynamoDB. No version checks are performed, as required by the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
        `objectsToDelete` - A list of objects to delete from DynamoDB. No version checks are performed, as required by the `AmazonDynamoDB.batchWriteItem(BatchWriteItemRequest)` API.
        `config` - Only `DynamoDBMapperConfig.getTableNameOverride()` is considered; if specified, all objects in the two parameter lists will be considered to belong to the given table override.
      戻り値:
        A list of failed batches which includes the unprocessed items and the exceptions causing the failure.

    - #### batchLoad

          public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> batchLoad(java.util.List<java.lang.Object> itemsToGet)

      Retrieves multiple items from multiple tables using their primary keys.
      関連項目:
        `batchLoad(List, DynamoDBMapperConfig)`

    - #### batchLoad

          public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> batchLoad(java.util.List<java.lang.Object> itemsToGet,
                                                                                   DynamoDBMapperConfig config)

      Retrieves multiple items from multiple tables using their primary keys.
      パラメータ:
        `itemsToGet` - Key objects, corresponding to the class to fetch, with their primary key values set.
        `config` - Only `DynamoDBMapperConfig.getTableNameOverride()` and `DynamoDBMapperConfig.getConsistentReads()` are considered.

    - #### batchLoad

          public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> batchLoad(java.util.Map<java.lang.Class<?>,java.util.List<KeyPair>> itemsToGet)

      Retrieves the attributes for multiple items from multiple tables using their primary keys. `AmazonDynamoDB.batchGetItem(BatchGetItemRequest)` API.
      関連項目:
        `DynamoDBMapper#batchLoad(Map, List, DynamoDBMapperConfig)`

    - #### batchLoad

          public java.util.Map<java.lang.String,java.util.List<java.lang.Object>> batchLoad(java.util.Map<java.lang.Class<?>,java.util.List<KeyPair>> itemsToGet,
                                                                                   DynamoDBMapperConfig config)

      Retrieves multiple items from multiple tables using their primary keys. Valid only for tables with a single hash key, or a single hash and range key. For other schemas, use `batchLoad(List, DynamoDBMapperConfig)`
      パラメータ:
        `itemsToGet` - Map from class to load to list of primary key attributes.
        `config` - Only `DynamoDBMapperConfig.getTableNameOverride()` and `DynamoDBMapperConfig.getConsistentReads()` are considered.

    - #### scan

          public <T> PaginatedScanList<T> scan(java.lang.Class<T> clazz,
                                      DynamoDBScanExpression scanExpression)

      Scans through an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects, using the default configuration.
      関連項目:
        `scan(Class, DynamoDBScanExpression, DynamoDBMapperConfig)`

    - #### scan

          public <T> PaginatedScanList<T> scan(java.lang.Class<T> clazz,
                                      DynamoDBScanExpression scanExpression,
                                      DynamoDBMapperConfig config)

      Scans through an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects. The table to scan is determined by looking at the annotations on the specified class, which declares where to store the object data in Amazon DynamoDB, and the scan expression parameter allows the caller to filter results and control how the scan is executed.

      Callers should be aware that the returned list is unmodifiable, and any attempts to modify the list will result in an UnsupportedOperationException.

      The unmodifiable list returned is lazily loaded when possible, so calls to DynamoDB will be made only as needed.

      型パラメータ:
        `T` - The type of the objects being returned.
      パラメータ:
        `clazz` - The class annotated with DynamoDB annotations describing how to store the object data in Amazon DynamoDB.
        `scanExpression` - Details on how to run the scan, including any filters to apply to limit results.
        `config` - The configuration to use for this scan, which overrides the default provided at object construction.
      戻り値:
        An unmodifiable list of the objects constructed from the results of the scan operation.
      関連項目:
        `PaginatedScanList`

    - #### parallelScan

          public <T> PaginatedParallelScanList<T> parallelScan(java.lang.Class<T> clazz,
                                                      DynamoDBScanExpression scanExpression,
                                                      int totalSegments)

      Scans through an Amazon DynamoDB table on logically partitioned segments in parallel and returns the matching results in one unmodifiable list of instantiated objects, using the default configuration.
      関連項目:
        `parallelScan(Class, DynamoDBScanExpression,int, DynamoDBMapperConfig)`

    - #### parallelScan

          public <T> PaginatedParallelScanList<T> parallelScan(java.lang.Class<T> clazz,
                                                      DynamoDBScanExpression scanExpression,
                                                      int totalSegments,
                                                      DynamoDBMapperConfig config)

      Scans through an Amazon DynamoDB table on logically partitioned segments in parallel. This method will create a thread pool of the specified size, and each thread will issue scan requests for its assigned segment, following the returned continuation token, until the end of its segment. Callers should be responsible for setting the appropriate number of total segments. More scan segments would result in better performance but more consumed capacity of the table. The results are returned in one unmodifiable list of instantiated objects. The table to scan is determined by looking at the annotations on the specified class, which declares where to store the object data in Amazon DynamoDB, and the scan expression parameter allows the caller to filter results and control how the scan is executed.

      Callers should be aware that the returned list is unmodifiable, and any attempts to modify the list will result in an UnsupportedOperationException.

      The unmodifiable list returned is lazily loaded when possible, so calls to DynamoDB will be made only as needed.

      型パラメータ:
        `T` - The type of the objects being returned.
      パラメータ:
        `clazz` - The class annotated with DynamoDB annotations describing how to store the object data in Amazon DynamoDB.
        `scanExpression` - Details on how to run the scan, including any filters to apply to limit results.
        `totalSegments` - Number of total parallel scan segments. Range: 1 - 4096
        `config` - The configuration to use for this scan, which overrides the default provided at object construction.
      戻り値:
        An unmodifiable list of the objects constructed from the results of the scan operation.
      関連項目:
        `PaginatedParallelScanList`

    - #### scanPage

          public <T> ScanResultPage<T> scanPage(java.lang.Class<T> clazz,
                                       DynamoDBScanExpression scanExpression,
                                       DynamoDBMapperConfig config)

      Scans through an Amazon DynamoDB table and returns a single page of matching results. The table to scan is determined by looking at the annotations on the specified class, which declares where to store the object data in AWS DynamoDB, and the scan expression parameter allows the caller to filter results and control how the scan is executed.
      型パラメータ:
        `T` - The type of the objects being returned.
      パラメータ:
        `clazz` - The class annotated with DynamoDB annotations describing how to store the object data in Amazon DynamoDB.
        `scanExpression` - Details on how to run the scan, including any filters to apply to limit results.
        `config` - The configuration to use for this scan, which overrides the default provided at object construction.

    - #### scanPage

          public <T> ScanResultPage<T> scanPage(java.lang.Class<T> clazz,
                                       DynamoDBScanExpression scanExpression)

      Scans through an Amazon DynamoDB table and returns a single page of matching results.
      関連項目:
        `scanPage(Class, DynamoDBScanExpression, DynamoDBMapperConfig)`

    - #### query

          public <T> PaginatedQueryList<T> query(java.lang.Class<T> clazz,
                                        DynamoDBQueryExpression<T> queryExpression)

      Queries an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects, using the default configuration.
      関連項目:
        `query(Class, DynamoDBQueryExpression, DynamoDBMapperConfig)`

    - #### query

          public <T> PaginatedQueryList<T> query(java.lang.Class<T> clazz,
                                        DynamoDBQueryExpression<T> queryExpression,
                                        DynamoDBMapperConfig config)

      Queries an Amazon DynamoDB table and returns the matching results as an unmodifiable list of instantiated objects. The table to query is determined by looking at the annotations on the specified class, which declares where to store the object data in Amazon DynamoDB, and the query expression parameter allows the caller to filter results and control how the query is executed.

      When the query is on any local secondary index, callers should be aware that the returned object(s) will only contain item attributes that are projected into the index. All the other unprojected attributes will be saved as type default values.

      Callers should also be aware that the returned list is unmodifiable, and any attempts to modify the list will result in an UnsupportedOperationException.

      The unmodifiable list returned is lazily loaded when possible, so calls to DynamoDB will be made only as needed.

      型パラメータ:
        `T` - The type of the objects being returned.
      パラメータ:
        `clazz` - The class annotated with DynamoDB annotations describing how to store the object data in Amazon DynamoDB.
        `queryExpression` - Details on how to run the query, including any conditions on the key values
        `config` - The configuration to use for this query, which overrides the default provided at object construction.
      戻り値:
        An unmodifiable list of the objects constructed from the results of the query operation.
      関連項目:
        `PaginatedQueryList`

    - #### queryPage

          public <T> QueryResultPage<T> queryPage(java.lang.Class<T> clazz,
                                         DynamoDBQueryExpression<T> queryExpression)

      Queries an Amazon DynamoDB table and returns a single page of matching results. The table to query is determined by looking at the annotations on the specified class, which declares where to store the object data in Amazon DynamoDB, and the query expression parameter allows the caller to filter results and control how the query is executed.
      関連項目:
        `queryPage(Class, DynamoDBQueryExpression, DynamoDBMapperConfig)`

    - #### queryPage

          public <T> QueryResultPage<T> queryPage(java.lang.Class<T> clazz,
                                         DynamoDBQueryExpression<T> queryExpression,
                                         DynamoDBMapperConfig config)

      Queries an Amazon DynamoDB table and returns a single page of matching results. The table to query is determined by looking at the annotations on the specified class, which declares where to store the object data in Amazon DynamoDB, and the query expression parameter allows the caller to filter results and control how the query is executed.
      型パラメータ:
        `T` - The type of the objects being returned.
      パラメータ:
        `clazz` - The class annotated with DynamoDB annotations describing how to store the object data in AWS DynamoDB.
        `queryExpression` - Details on how to run the query, including any conditions on the key values
        `config` - The configuration to use for this query, which overrides the default provided at object construction.

    - #### count

          public int count(java.lang.Class<?> clazz,
                  DynamoDBScanExpression scanExpression)

      Evaluates the specified scan expression and returns the count of matching items, without returning any of the actual item data, using the default configuration.
      関連項目:
        `count(Class, DynamoDBScanExpression, DynamoDBMapperConfig)`

    - #### count

          public int count(java.lang.Class<?> clazz,
                  DynamoDBScanExpression scanExpression,
                  DynamoDBMapperConfig config)

      Evaluates the specified scan expression and returns the count of matching items, without returning any of the actual item data.

      This operation will scan your entire table, and can therefore be very expensive. Use with caution.

      パラメータ:
        `clazz` - The class mapped to a DynamoDB table.
        `scanExpression` - The parameters for running the scan.
        `config` - The configuration to use for this scan, which overrides the default provided at object construction.
      戻り値:
        The count of matching items, without returning any of the actual item data.

    - #### count

          public <T> int count(java.lang.Class<T> clazz,
                      DynamoDBQueryExpression<T> queryExpression)

      Evaluates the specified query expression and returns the count of matching items, without returning any of the actual item data, using the default configuration.
      関連項目:
        `count(Class, DynamoDBQueryExpression, DynamoDBMapperConfig)`

    - #### count

          public <T> int count(java.lang.Class<T> clazz,
                      DynamoDBQueryExpression<T> queryExpression,
                      DynamoDBMapperConfig config)

      Evaluates the specified query expression and returns the count of matching items, without returning any of the actual item data.
      パラメータ:
        `clazz` - The class mapped to a DynamoDB table.
        `scanExpression` - The parameters for running the scan.
        `config` - The mapper configuration to use for the query, which overrides the default provided at object construction.
      戻り値:
        The count of matching items, without returning any of the actual item data.

    - #### untransformAttributes

          protected java.util.Map<java.lang.String,AttributeValue> untransformAttributes(java.lang.Class<?> clazz,
                                                                             java.util.Map<java.lang.String,AttributeValue> attributeValues)

      By default, just calls `untransformAttributes(String, String, Map)`.

    - #### untransformAttributes

          protected java.util.Map<java.lang.String,AttributeValue> untransformAttributes(java.lang.String hashKey,
                                                                             java.lang.String rangeKey,
                                                                             java.util.Map<java.lang.String,AttributeValue> attributeValues)

      Transforms the attribute values after loading from DynamoDb. Only ever called by `untransformAttributes(Class, Map)`. By default, returns the attributes unchanged.
      パラメータ:
        `hashKey` - the attribute name of the hash key
        `rangeKey` - the attribute name of the range key (or null if there is none)
        `attributeValues` -
      戻り値:
        the decrypted attributes

    - #### transformAttributes

          protected java.util.Map<java.lang.String,AttributeValue> transformAttributes(java.lang.Class<?> clazz,
                                                                           java.util.Map<java.lang.String,AttributeValue> attributeValues)

      By default, just calls `transformAttributes(String, String, Map)`.
      パラメータ:
        `clazz` -
        `attributeValues` -
      戻り値:
        the decrypted attribute values

    - #### transformAttributes

          protected java.util.Map<java.lang.String,AttributeValue> transformAttributes(java.lang.String hashKey,
                                                                           java.lang.String rangeKey,
                                                                           java.util.Map<java.lang.String,AttributeValue> attributeValues)

      Transform attribute values prior to storing in DynamoDB. Only ever called by `transformAttributes(Class, Map)`. By default, returns the attributes unchanged.
      パラメータ:
        `hashKey` - the attribute name of the hash key
        `rangeKey` - the attribute name of the range key (or null if there is none)
        `attributeValues` -
      戻り値:
        the encrypted attributes