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

com.amazonaws.services.dynamodbv2.model.GetItemRequest 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#getItem(GetItemRequest) GetItem operation}.
 * 

* The GetItem operation returns a set of attributes for the item * with the given primary key. If there is no matching item, * GetItem does not return any data. *

*

* GetItem provides an eventually consistent read by default. If * your application requires a strongly consistent read, set * ConsistentRead to true . Although a strongly * consistent read might take more time than an eventually consistent * read, it always returns the last updated value. *

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

* Constraints:
* Length: 3 - 255
* Pattern: [a-zA-Z0-9_.-]+
*/ private String tableName; /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. */ private java.util.Map key; /** * 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; /** * If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. */ private Boolean consistentRead; /** * 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; /** * Default constructor for a new GetItemRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize this object after creating it. */ public GetItemRequest() {} /** * Constructs a new GetItemRequest 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 item. * @param key A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. */ public GetItemRequest(String tableName, java.util.Map key) { setTableName(tableName); setKey(key); } /** * Constructs a new GetItemRequest 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 item. * @param key A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. * @param consistentRead If set to true, then the operation * uses strongly consistent reads; otherwise, eventually consistent reads * are used. */ public GetItemRequest(String tableName, java.util.Map key, Boolean consistentRead) { setTableName(tableName); setKey(key); setConsistentRead(consistentRead); } /** * The name of the table containing the requested item. *

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

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

* 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 item. * * @return A reference to this updated object so that method calls can be chained * together. */ public GetItemRequest withTableName(String tableName) { this.tableName = tableName; return this; } /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. * * @return A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. */ public java.util.Map getKey() { return key; } /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. * * @param key A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. */ public void setKey(java.util.Map key) { this.key = key; } /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. *

* Returns a reference to this object so that method calls can be chained together. * * @param key A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. * * @return A reference to this updated object so that method calls can be chained * together. */ public GetItemRequest withKey(java.util.Map key) { setKey(key); return this; } /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. *

* This method accepts the hashKey, rangeKey of Key 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 setKey(java.util.Map.Entry hashKey, java.util.Map.Entry rangeKey) throws IllegalArgumentException { java.util.HashMap key = new java.util.HashMap(); if (hashKey != null) { key.put(hashKey.getKey(), hashKey.getValue()); } else throw new IllegalArgumentException("hashKey must be non-null object."); if (rangeKey != null) { key.put(rangeKey.getKey(), rangeKey.getValue()); } setKey(key); } /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. *

* This method accepts the hashKey, rangeKey of Key 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 GetItemRequest withKey(java.util.Map.Entry hashKey, java.util.Map.Entry rangeKey) throws IllegalArgumentException { setKey(hashKey, rangeKey); return this; } /** * A map of attribute names to AttributeValue objects, * representing the primary key of the item to retrieve. *

* The method adds a new key-value pair into Key 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 Key. * @param value The corresponding value of the entry to be added into Key. */ public GetItemRequest addKeyEntry(String key, AttributeValue value) { if (null == this.key) { this.key = new java.util.HashMap(); } if (this.key.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.key.put(key, value); return this; } /** * Removes all the entries added into Key. *

* Returns a reference to this object so that method calls can be chained together. */ public GetItemRequest clearKeyEntries() { this.key = null; 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 GetItemRequest 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 GetItemRequest 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; } /** * If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. * * @return If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. */ public Boolean isConsistentRead() { return consistentRead; } /** * If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. * * @param consistentRead If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. */ public void setConsistentRead(Boolean consistentRead) { this.consistentRead = consistentRead; } /** * If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. *

* Returns a reference to this object so that method calls can be chained together. * * @param consistentRead If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. * * @return A reference to this updated object so that method calls can be chained * together. */ public GetItemRequest withConsistentRead(Boolean consistentRead) { this.consistentRead = consistentRead; return this; } /** * If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. * * @return If set to true, then the operation uses strongly * consistent reads; otherwise, eventually consistent reads are used. */ public Boolean getConsistentRead() { return consistentRead; } /** * 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 GetItemRequest 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 GetItemRequest withReturnConsumedCapacity(ReturnConsumedCapacity returnConsumedCapacity) { this.returnConsumedCapacity = returnConsumedCapacity.toString(); 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 (getKey() != null) sb.append("Key: " + getKey() + ","); if (getAttributesToGet() != null) sb.append("AttributesToGet: " + getAttributesToGet() + ","); if (isConsistentRead() != null) sb.append("ConsistentRead: " + isConsistentRead() + ","); if (getReturnConsumedCapacity() != null) sb.append("ReturnConsumedCapacity: " + getReturnConsumedCapacity() ); 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 + ((getKey() == null) ? 0 : getKey().hashCode()); hashCode = prime * hashCode + ((getAttributesToGet() == null) ? 0 : getAttributesToGet().hashCode()); hashCode = prime * hashCode + ((isConsistentRead() == null) ? 0 : isConsistentRead().hashCode()); hashCode = prime * hashCode + ((getReturnConsumedCapacity() == null) ? 0 : getReturnConsumedCapacity().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetItemRequest == false) return false; GetItemRequest other = (GetItemRequest)obj; if (other.getTableName() == null ^ this.getTableName() == null) return false; if (other.getTableName() != null && other.getTableName().equals(this.getTableName()) == false) return false; if (other.getKey() == null ^ this.getKey() == null) return false; if (other.getKey() != null && other.getKey().equals(this.getKey()) == 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.isConsistentRead() == null ^ this.isConsistentRead() == null) return false; if (other.isConsistentRead() != null && other.isConsistentRead().equals(this.isConsistentRead()) == false) return false; if (other.getReturnConsumedCapacity() == null ^ this.getReturnConsumedCapacity() == null) return false; if (other.getReturnConsumedCapacity() != null && other.getReturnConsumedCapacity().equals(this.getReturnConsumedCapacity()) == false) return false; return true; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy