Class QueryResponse

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<QueryResponse.Builder,QueryResponse>

@Generated("software.amazon.awssdk:codegen") public final class QueryResponse extends DynamoDbResponse implements ToCopyableBuilder<QueryResponse.Builder,QueryResponse>

Represents the output of a Query operation.

  • Method Details

    • hasItems

      public final boolean hasItems()
      For responses, this returns true if the service returned a value for the Items property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • items

      public final List<Map<String,AttributeValue>> items()

      An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasItems() method.

      Returns:
      An array of item attributes that match the query criteria. Each element in this array consists of an attribute name and the value for that attribute.
    • count

      public final Integer count()

      The number of items in the response.

      If you used a QueryFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

      If you did not use a filter in the request, then Count and ScannedCount are the same.

      Returns:
      The number of items in the response.

      If you used a QueryFilter in the request, then Count is the number of items returned after the filter was applied, and ScannedCount is the number of matching items before the filter was applied.

      If you did not use a filter in the request, then Count and ScannedCount are the same.

    • scannedCount

      public final Integer scannedCount()

      The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

      If you did not use a filter in the request, then ScannedCount is the same as Count.

      Returns:
      The number of items evaluated, before any QueryFilter is applied. A high ScannedCount value with few, or no, Count results indicates an inefficient Query operation. For more information, see Count and ScannedCount in the Amazon DynamoDB Developer Guide.

      If you did not use a filter in the request, then ScannedCount is the same as Count.

    • hasLastEvaluatedKey

      public final boolean hasLastEvaluatedKey()
      For responses, this returns true if the service returned a value for the LastEvaluatedKey property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • lastEvaluatedKey

      public final Map<String,AttributeValue> lastEvaluatedKey()

      The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

      If LastEvaluatedKey is empty, then the "last page" of results has been processed and there is no more data to be retrieved.

      If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasLastEvaluatedKey() method.

      Returns:
      The primary key of the item where the operation stopped, inclusive of the previous result set. Use this value to start a new operation, excluding this value in the new request.

      If LastEvaluatedKey is empty, then the "last page" of results has been processed and there is no more data to be retrieved.

      If LastEvaluatedKey is not empty, it does not necessarily mean that there is more data in the result set. The only way to know when you have reached the end of the result set is when LastEvaluatedKey is empty.

    • consumedCapacity

      public final ConsumedCapacity consumedCapacity()

      The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.

      Returns:
      The capacity units consumed by the Query operation. The data returned includes the total provisioned throughput consumed, along with statistics for the table and any indexes involved in the operation. ConsumedCapacity is only returned if the ReturnConsumedCapacity parameter was specified. For more information, see Provisioned Throughput in the Amazon DynamoDB Developer Guide.
    • toBuilder

      public QueryResponse.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<QueryResponse.Builder,QueryResponse>
      Specified by:
      toBuilder in class AwsResponse
      Returns:
      a builder for type T
    • builder

      public static QueryResponse.Builder builder()
    • serializableBuilderClass

      public static Class<? extends QueryResponse.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsResponse
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsResponse
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkResponse
      Used to retrieve the value of a field from any class that extends SdkResponse. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkResponse.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkResponse
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.