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

com.amazonaws.services.dynamodbv2.model.ScanRequest Maven / Gradle / Ivy

Go to download

The Amazon Web Services 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).

The newest version!
/*
 * Copyright 2010-2014 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;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * Container for the parameters to the {@link com.amazonaws.services.dynamodbv2.AmazonDynamoDB#scan(ScanRequest) Scan operation}.
 * 

* The Scan operation returns one or more items and item * attributes by accessing every item in the table. To have DynamoDB * return fewer items, you can provide a ScanFilter . *

*

* If the total number of scanned items exceeds the maximum data set size * limit of 1 MB, the scan stops and results are returned to the user * with a LastEvaluatedKey to continue the scan in a subsequent * operation. The results also include the number of items exceeding the * limit. A scan can result in no table data meeting the filter criteria. *

*

* The result set is eventually consistent. *

*

* By default, Scan operations proceed sequentially; however, for * faster performance on large tables, applications can request a * parallel Scan by specifying the Segment and * TotalSegments parameters. For more information, see * Parallel Scan * in the Amazon DynamoDB Developer Guide. *

* * @see com.amazonaws.services.dynamodbv2.AmazonDynamoDB#scan(ScanRequest) */ public class ScanRequest extends AmazonWebServiceRequest implements Serializable { /** * The name of the table containing the requested items. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/ private String tableName; /** * The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. *

* Constraints:
* Length: 1 -
*/ private com.amazonaws.internal.ListWithAutoConstructFlag attributesToGet; /** * The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. *

* Constraints:
* Range: 1 -
*/ private Integer limit; /** * The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) *

* Constraints:
* Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT */ private String select; /** * Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

*/ private java.util.Map scanFilter; /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. */ private java.util.Map exclusiveStartKey; /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE */ private String returnConsumedCapacity; /** * For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. *

* Constraints:
* Range: 1 - 4096
*/ private Integer totalSegments; /** * For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. *

* Constraints:
* Range: 0 - 4095
*/ private Integer segment; /** * Default constructor for a new ScanRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public ScanRequest() {} /** * Constructs a new ScanRequest object. * Callers should use the setter or fluent setter (with...) methods to * initialize any additional object members. * * @param tableName The name of the table containing the requested items. */ public ScanRequest(String tableName) { setTableName(tableName); } /** * The name of the table containing the requested items. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
* * @return The name of the table containing the requested items. */ public String getTableName() { return tableName; } /** * The name of the table containing the requested items. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
* * @param tableName The name of the table containing the requested items. */ public void setTableName(String tableName) { this.tableName = tableName; } /** * The name of the table containing the requested items. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
* * @param tableName The name of the table containing the requested items. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withTableName(String tableName) { this.tableName = tableName; return this; } /** * The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. *

* Constraints:
* Length: 1 -
* * @return The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. */ public java.util.List getAttributesToGet() { return attributesToGet; } /** * The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. *

* Constraints:
* Length: 1 -
* * @param attributesToGet The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. */ public void setAttributesToGet(java.util.Collection attributesToGet) { if (attributesToGet == null) { this.attributesToGet = null; return; } com.amazonaws.internal.ListWithAutoConstructFlag attributesToGetCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(attributesToGet.size()); attributesToGetCopy.addAll(attributesToGet); this.attributesToGet = attributesToGetCopy; } /** * The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 -
* * @param attributesToGet The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withAttributesToGet(String... attributesToGet) { if (getAttributesToGet() == null) setAttributesToGet(new java.util.ArrayList(attributesToGet.length)); for (String value : attributesToGet) { getAttributesToGet().add(value); } return this; } /** * The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Length: 1 -
* * @param attributesToGet The names of one or more attributes to retrieve. If no attribute names * are specified, then all attributes will be returned. If any of the * requested attributes are not found, they will not appear in the * result. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withAttributesToGet(java.util.Collection attributesToGet) { if (attributesToGet == null) { this.attributesToGet = null; } else { com.amazonaws.internal.ListWithAutoConstructFlag attributesToGetCopy = new com.amazonaws.internal.ListWithAutoConstructFlag(attributesToGet.size()); attributesToGetCopy.addAll(attributesToGet); this.attributesToGet = attributesToGetCopy; } return this; } /** * The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. *

* Constraints:
* Range: 1 -
* * @return The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. */ public Integer getLimit() { return limit; } /** * The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. *

* Constraints:
* Range: 1 -
* * @param limit The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. */ public void setLimit(Integer limit) { this.limit = limit; } /** * The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Range: 1 -
* * @param limit The maximum number of items to evaluate (not necessarily the number of * matching items). If DynamoDB processes the number of items up to the * limit while processing the results, it stops the operation and returns * the matching values up to that point, and a LastEvaluatedKey to * apply in a subsequent operation, so that you can pick up where you * left off. Also, if the processed data set size exceeds 1 MB before * DynamoDB reaches this limit, it stops the operation and returns the * matching values up to the limit, and a LastEvaluatedKey to * apply in a subsequent operation to continue the operation. For more * information see Query * and Scan in the Amazon DynamoDB Developer Guide. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withLimit(Integer limit) { this.limit = limit; return this; } /** * The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) *

* Constraints:
* Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT * * @return The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) * * @see Select */ public String getSelect() { return select; } /** * The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) *

* Constraints:
* Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT * * @param select The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) * * @see Select */ public void setSelect(String select) { this.select = select; } /** * The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT * * @param select The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) * * @return A reference to this updated object so that method calls can be chained * together. * * @see Select */ public ScanRequest withSelect(String select) { this.select = select; return this; } /** * The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) *

* Constraints:
* Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT * * @param select The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) * * @see Select */ public void setSelect(Select select) { this.select = select.toString(); } /** * The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: ALL_ATTRIBUTES, ALL_PROJECTED_ATTRIBUTES, SPECIFIC_ATTRIBUTES, COUNT * * @param select The attributes to be returned in the result. You can retrieve all item * attributes, specific item attributes, or the count of matching items. *

  • ALL_ATTRIBUTES: Returns all of the item * attributes.

  • COUNT: Returns the number of * matching items, rather than the matching items themselves.

  • *

    SPECIFIC_ATTRIBUTES : Returns only the attributes * listed in AttributesToGet. This is equivalent to specifying * AttributesToGet without specifying any value for Select. *

If neither Select nor AttributesToGet are * specified, DynamoDB defaults to ALL_ATTRIBUTES. You * cannot use both Select and AttributesToGet together in a * single request, unless the value for Select is * SPECIFIC_ATTRIBUTES. (This usage is equivalent to * specifying AttributesToGet without any value for * Select.) * * @return A reference to this updated object so that method calls can be chained * together. * * @see Select */ public ScanRequest withSelect(Select select) { this.select = select.toString(); return this; } /** * Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

* * @return Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

*/ public java.util.Map getScanFilter() { return scanFilter; } /** * Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

* * @param scanFilter Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

*/ public void setScanFilter(java.util.Map scanFilter) { this.scanFilter = scanFilter; } /** * Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

*

* Returns a reference to this object so that method calls can be chained together. * * @param scanFilter Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

* * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withScanFilter(java.util.Map scanFilter) { setScanFilter(scanFilter); return this; } /** * Evaluates the scan results and returns only the desired values. * Multiple conditions are treated as "AND" operations: all conditions * must be met to be included in the results.

Each * ScanConditions element consists of an attribute name to * compare, along with the following:

    *
  • AttributeValueList - One or more values to evaluate * against the supplied attribute. This list contains exactly one value, * except for a BETWEEN or IN comparison, in * which case the list contains two values.

    For type Number, * value comparisons are numeric.

    String value comparisons for greater * than, equals, or less than are based on ASCII character code values. * For example, a is greater than A, and * aa is greater than B. For a list of code * values, see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

    For Binary, DynamoDB treats each byte of the binary data as * unsigned when it compares binary values, for example when evaluating * query expressions.

  • ComparisonOperator - A * comparator for evaluating attributes. For example, equals, greater * than, less than, etc.

    Valid comparison operators for Scan: *

    EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | * NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

    For information on * specifying data types in JSON, see JSON * Data Format in the Amazon DynamoDB Developer Guide.

    The * following are descriptions of each comparison operator.

    • *

      EQ : Equal.

      AttributeValueList can contain * only one AttributeValue of type String, Number, or Binary (not * a set). If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      NE : Not equal.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not equal * {"NS":["6", "2", "1"]}.

    • *

      LE : Less than or equal.

      AttributeValueList * can contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      LT : Less than.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If an item contains an AttributeValue of a * different type than the one specified in the request, the value does * not match. For example, {"S":"6"} does not equal * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}.

    • *

      GE : Greater than or equal. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • GT : Greater than. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If an item contains an AttributeValue of a different type than * the one specified in the request, the value does not match. For * example, {"S":"6"} does not equal {"N":"6"}. * Also, {"N":"6"} does not compare to {"NS":["6", * "2", "1"]}.

    • NOT_NULL : The * attribute exists.

    • NULL : The attribute does * not exist.

    • CONTAINS : checks for a * subsequence, or value in a set.

      AttributeValueList can * contain only one AttributeValue of type String, Number, or * Binary (not a set). If the target attribute of the comparison is a * String, then the operation checks for a substring match. If the target * attribute of the comparison is Binary, then the operation looks for a * subsequence of the target that matches the input. If the target * attribute of the comparison is a set ("SS", "NS", or "BS"), then the * operation checks for a member of the set (not as a substring).

    • *
    • NOT_CONTAINS : checks for absence of a * subsequence, or absence of a value in a set. *

      AttributeValueList can contain only one * AttributeValue of type String, Number, or Binary (not a set). * If the target attribute of the comparison is a String, then the * operation checks for the absence of a substring match. If the target * attribute of the comparison is Binary, then the operation checks for * the absence of a subsequence of the target that matches the input. If * the target attribute of the comparison is a set ("SS", "NS", or "BS"), * then the operation checks for the absence of a member of the set (not * as a substring).

    • BEGINS_WITH : checks for a * prefix.

      AttributeValueList can contain only one * AttributeValue of type String or Binary (not a Number or a * set). The target attribute of the comparison must be a String or * Binary (not a Number or a set).

    • IN : * checks for exact matches.

      AttributeValueList can contain * more than one AttributeValue of type String, Number, or Binary * (not a set). The target attribute of the comparison must be of the * same type and exact value to match. A String never matches a String * set.

    • BETWEEN : Greater than or equal to the * first value, and less than or equal to the second value. *

      AttributeValueList must contain two AttributeValue * elements of the same type, either String, Number, or Binary (not a * set). A target attribute matches if the target value is greater than, * or equal to, the first element and less than, or equal to, the second * element. If an item contains an AttributeValue of a different * type than the one specified in the request, the value does not match. * For example, {"S":"6"} does not compare to * {"N":"6"}. Also, {"N":"6"} does not compare * to {"NS":["6", "2", "1"]}

*

* The method adds a new key-value pair into ScanFilter parameter, and * returns a reference to this object so that method calls can be chained * together. * * @param key The key of the entry to be added into ScanFilter. * @param value The corresponding value of the entry to be added into ScanFilter. */ public ScanRequest addScanFilterEntry(String key, Condition value) { if (null == this.scanFilter) { this.scanFilter = new java.util.HashMap(); } if (this.scanFilter.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.scanFilter.put(key, value); return this; } /** * Removes all the entries added into ScanFilter. *

* Returns a reference to this object so that method calls can be chained together. */ public ScanRequest clearScanFilterEntries() { this.scanFilter = null; return this; } /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. * * @return The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. */ public java.util.Map getExclusiveStartKey() { return exclusiveStartKey; } /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. * * @param exclusiveStartKey The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. */ public void setExclusiveStartKey(java.util.Map exclusiveStartKey) { this.exclusiveStartKey = exclusiveStartKey; } /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. *

* Returns a reference to this object so that method calls can be chained together. * * @param exclusiveStartKey The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withExclusiveStartKey(java.util.Map exclusiveStartKey) { setExclusiveStartKey(exclusiveStartKey); return this; } /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. *

* This method accepts the hashKey, rangeKey of ExclusiveStartKey as * java.util.Map.Entry objects. * * @param hashKey Primary hash key. * @param rangeKey Primary range key. (null if it a hash-only table) */ public void setExclusiveStartKey(java.util.Map.Entry hashKey, java.util.Map.Entry rangeKey) throws IllegalArgumentException { java.util.HashMap exclusiveStartKey = new java.util.HashMap(); if (hashKey != null) { exclusiveStartKey.put(hashKey.getKey(), hashKey.getValue()); } else throw new IllegalArgumentException("hashKey must be non-null object."); if (rangeKey != null) { exclusiveStartKey.put(rangeKey.getKey(), rangeKey.getValue()); } setExclusiveStartKey(exclusiveStartKey); } /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. *

* This method accepts the hashKey, rangeKey of ExclusiveStartKey as * java.util.Map.Entry objects. *

* Returns a reference to this object so that method calls can be chained together. * * @param hashKey Primary hash key. * @param rangeKey Primary range key. (null if it a hash-only table) */ public ScanRequest withExclusiveStartKey(java.util.Map.Entry hashKey, java.util.Map.Entry rangeKey) throws IllegalArgumentException { setExclusiveStartKey(hashKey, rangeKey); return this; } /** * The primary key of the first item that this operation will evaluate. * Use the value that was returned for LastEvaluatedKey in the * previous operation.

The data type for ExclusiveStartKey must * be String, Number or Binary. No set data types are allowed.

In a * parallel scan, a Scan request that includes * ExclusiveStartKey must specify the same segment whose previous * Scan returned the corresponding value of * LastEvaluatedKey. *

* The method adds a new key-value pair into ExclusiveStartKey parameter, * and returns a reference to this object so that method calls can be * chained together. * * @param key The key of the entry to be added into ExclusiveStartKey. * @param value The corresponding value of the entry to be added into ExclusiveStartKey. */ public ScanRequest addExclusiveStartKeyEntry(String key, AttributeValue value) { if (null == this.exclusiveStartKey) { this.exclusiveStartKey = new java.util.HashMap(); } if (this.exclusiveStartKey.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.exclusiveStartKey.put(key, value); return this; } /** * Removes all the entries added into ExclusiveStartKey. *

* Returns a reference to this object so that method calls can be chained together. */ public ScanRequest clearExclusiveStartKeyEntries() { this.exclusiveStartKey = null; return this; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @return If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public String getReturnConsumedCapacity() { return returnConsumedCapacity; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public void setReturnConsumedCapacity(String returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnConsumedCapacity */ public ScanRequest withReturnConsumedCapacity(String returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity; return this; } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @see ReturnConsumedCapacity */ public void setReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); } /** * If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Allowed Values: INDEXES, TOTAL, NONE * * @param returnConsumedCapacity If set to TOTAL, the response includes * ConsumedCapacity data for tables and indexes. If set to * INDEXES, the response includes ConsumedCapacity * for indexes. If set to NONE (the default), * ConsumedCapacity is not included in the response. * * @return A reference to this updated object so that method calls can be chained * together. * * @see ReturnConsumedCapacity */ public ScanRequest withReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); return this; } /** * For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. *

* Constraints:
* Range: 1 - 4096
* * @return For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. */ public Integer getTotalSegments() { return totalSegments; } /** * For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. *

* Constraints:
* Range: 1 - 4096
* * @param totalSegments For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. */ public void setTotalSegments(Integer totalSegments) { this.totalSegments = totalSegments; } /** * For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Range: 1 - 4096
* * @param totalSegments For a parallel Scan request, TotalSegments represents * the total number of segments into which the Scan operation will * be divided. The value of TotalSegments corresponds to the * number of application workers that will perform the parallel scan. For * example, if you want to scan a table using four application threads, * you would specify a TotalSegments value of 4.

The value for * TotalSegments must be greater than or equal to 1, and less than * or equal to 4096. If you specify a TotalSegments value of 1, * the Scan will be sequential rather than parallel.

If you * specify TotalSegments, you must also specify Segment. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withTotalSegments(Integer totalSegments) { this.totalSegments = totalSegments; return this; } /** * For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. *

* Constraints:
* Range: 0 - 4095
* * @return For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. */ public Integer getSegment() { return segment; } /** * For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. *

* Constraints:
* Range: 0 - 4095
* * @param segment For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. */ public void setSegment(Integer segment) { this.segment = segment; } /** * For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. *

* Returns a reference to this object so that method calls can be chained together. *

* Constraints:
* Range: 0 - 4095
* * @param segment For a parallel Scan request, Segment identifies an * individual segment to be scanned by an application worker.

Segment * IDs are zero-based, so the first segment is always 0. For example, if * you want to scan a table using four application threads, the first * thread would specify a Segment value of 0, the second thread * would specify 1, and so on.

The value of LastEvaluatedKey * returned from a parallel Scan request must be used as * ExclusiveStartKey with the same Segment ID in a subsequent * Scan operation.

The value for Segment must be greater * than or equal to 0, and less than the value provided for * TotalSegments.

If you specify Segment, you must also * specify TotalSegments. * * @return A reference to this updated object so that method calls can be chained * together. */ public ScanRequest withSegment(Integer segment) { this.segment = segment; 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 (getTableName() != null) sb.append("TableName: " + getTableName() + ","); if (getAttributesToGet() != null) sb.append("AttributesToGet: " + getAttributesToGet() + ","); if (getLimit() != null) sb.append("Limit: " + getLimit() + ","); if (getSelect() != null) sb.append("Select: " + getSelect() + ","); if (getScanFilter() != null) sb.append("ScanFilter: " + getScanFilter() + ","); if (getExclusiveStartKey() != null) sb.append("ExclusiveStartKey: " + getExclusiveStartKey() + ","); if (getReturnConsumedCapacity() != null) sb.append("ReturnConsumedCapacity: " + getReturnConsumedCapacity() + ","); if (getTotalSegments() != null) sb.append("TotalSegments: " + getTotalSegments() + ","); if (getSegment() != null) sb.append("Segment: " + getSegment() ); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getTableName() == null) ? 0 : getTableName().hashCode()); hashCode = prime * hashCode + ((getAttributesToGet() == null) ? 0 : getAttributesToGet().hashCode()); hashCode = prime * hashCode + ((getLimit() == null) ? 0 : getLimit().hashCode()); hashCode = prime * hashCode + ((getSelect() == null) ? 0 : getSelect().hashCode()); hashCode = prime * hashCode + ((getScanFilter() == null) ? 0 : getScanFilter().hashCode()); hashCode = prime * hashCode + ((getExclusiveStartKey() == null) ? 0 : getExclusiveStartKey().hashCode()); hashCode = prime * hashCode + ((getReturnConsumedCapacity() == null) ? 0 : getReturnConsumedCapacity().hashCode()); hashCode = prime * hashCode + ((getTotalSegments() == null) ? 0 : getTotalSegments().hashCode()); hashCode = prime * hashCode + ((getSegment() == null) ? 0 : getSegment().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ScanRequest == false) return false; ScanRequest other = (ScanRequest)obj; if (other.getTableName() == null ^ this.getTableName() == null) return false; if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getAttributesToGet() == null ^ this.getAttributesToGet() == null) return false; if (other.getAttributesToGet() != null && other.getAttributesToGet().equals(this.getAttributesToGet()) == false) return false; if (other.getLimit() == null ^ this.getLimit() == null) return false; if (other.getLimit() != null && other.getLimit().equals(this.getLimit()) == false) return false; if (other.getSelect() == null ^ this.getSelect() == null) return false; if (other.getSelect() != null && other.getSelect().equals(this.getSelect()) == false) return false; if (other.getScanFilter() == null ^ this.getScanFilter() == null) return false; if (other.getScanFilter() != null && other.getScanFilter().equals(this.getScanFilter()) == false) return false; if (other.getExclusiveStartKey() == null ^ this.getExclusiveStartKey() == null) return false; if (other.getExclusiveStartKey() != null && other.getExclusiveStartKey().equals(this.getExclusiveStartKey()) == false) return false; if (other.getReturnConsumedCapacity() == null ^ this.getReturnConsumedCapacity() == null) return false; if (other.getReturnConsumedCapacity() != null && other.getReturnConsumedCapacity().equals(this.getReturnConsumedCapacity()) == false) return false; if (other.getTotalSegments() == null ^ this.getTotalSegments() == null) return false; if (other.getTotalSegments() != null && other.getTotalSegments().equals(this.getTotalSegments()) == false) return false; if (other.getSegment() == null ^ this.getSegment() == null) return false; if (other.getSegment() != null && other.getSegment().equals(this.getSegment()) == false) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy