/* * Copyright 2013-2017 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. * You may obtain a copy of the License at: * * http://aws.amazon.com/apache2.0 * * 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.datamodeling; import java.util.List; import java.util.Map; import com.amazonaws.services.dynamodbv2.model.AttributeValue; import com.amazonaws.services.dynamodbv2.model.ConsumedCapacity; /** * Container for a page of scan results. */ public class ScanResultPage<T> { private List<T> results; private Map<String,AttributeValue> lastEvaluatedKey; private Integer count; private Integer scannedCount; private ConsumedCapacity consumedCapacity; /** * Returns all matching items for this page of scan results, which may be * empty. */ public List<T> getResults() { return results; } public void setResults(List<T> results) { this.results = results; } /** * Returns the last evaluated key, which can be used as the * exclusiveStartKey to fetch the next page of results. Returns null if this * is the last page of results. * * @return The key-value pairs which map from the attribute name of each component * of the primary key to its value. */ public Map<String,AttributeValue> getLastEvaluatedKey() { return lastEvaluatedKey; } public void setLastEvaluatedKey(Map<String,AttributeValue> lastEvaluatedKey) { this.lastEvaluatedKey = lastEvaluatedKey; } /** * The number of items in the response. <p>If you set <i>ScanFilter</i> * in the request, then <i>Count</i> is the number of items returned * after the filter was applied, and <i>ScannedCount</i> is the number of * matching items before the filter was applied. <p>If you did not use a * filter in the request, then <i>Count</i> is the same as * <i>ScannedCount</i>. * * @return The number of items in the response. <p>If you set <i>ScanFilter</i> * in the request, then <i>Count</i> is the number of items returned * after the filter was applied, and <i>ScannedCount</i> is the number of * matching items before the filter was applied. <p>If you did not use a * filter in the request, then <i>Count</i> is the same as * <i>ScannedCount</i>. */ public Integer getCount() { return count; } public void setCount(Integer count) { this.count = count; } /** * The number of items evaluated, before any <i>ScanFilter</i> is * applied. A high <i>ScannedCount</i> value with few, or no, * <i>Count</i> results indicates an inefficient <i>Scan</i> operation. * For more information, see <a * href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count * and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>. * <p>If you did not use a filter in the request, then * <i>ScannedCount</i> is the same as <i>Count</i>. * * @return The number of items evaluated, before any <i>ScanFilter</i> is * applied. A high <i>ScannedCount</i> value with few, or no, * <i>Count</i> results indicates an inefficient <i>Scan</i> operation. * For more information, see <a * href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Count">Count * and ScannedCount</a> in the <i>Amazon DynamoDB Developer Guide</i>. * <p>If you did not use a filter in the request, then * <i>ScannedCount</i> is the same as <i>Count</i>. */ public Integer getScannedCount() { return scannedCount; } public void setScannedCount(Integer scannedCount) { this.scannedCount = scannedCount; } /** * The capacity units consumed by an operation. The data returned * includes the total provisioned throughput consumed, along with * statistics for the table and any indexes involved in the operation. * <i>ConsumedCapacity</i> is only returned if the request asked for it. * For more information, see <a * href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Provisioned * Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>. * * @return The capacity units consumed by an operation. The data returned * includes the total provisioned throughput consumed, along with * statistics for the table and any indexes involved in the operation. * <i>ConsumedCapacity</i> is only returned if the request asked for it. * For more information, see <a * href="http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ProvisionedThroughputIntro.html">Provisioned * Throughput</a> in the <i>Amazon DynamoDB Developer Guide</i>. */ public ConsumedCapacity getConsumedCapacity() { return consumedCapacity; } public void setConsumedCapacity(ConsumedCapacity consumedCapacity) { this.consumedCapacity = consumedCapacity; } }