com.amazonaws.services.simpledb.model
Class BatchPutAttributesRequest

java.lang.Object
  extended by com.amazonaws.AmazonWebServiceRequest
      extended by com.amazonaws.services.simpledb.model.BatchPutAttributesRequest

public class BatchPutAttributesRequest
extends AmazonWebServiceRequest

Container for the parameters to the BatchPutAttributes operation.

The BatchPutAttributes operation creates or replaces attributes within one or more items. By using this operation, the client can perform multiple PutAttribute operation with a single call. This helps yield savings in round trips and latencies, enabling Amazon SimpleDB to optimize requests and generally produce better throughput.

The client may specify the item name with the Item.X.ItemName parameter. The client may specify new attributes using a combination of the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value parameters. The client may specify the first attribute for the first item using the parameters Item.0.Attribute.0.Name and Item.0.Attribute.0.Value , and for the second attribute for the first item by the parameters Item.0.Attribute.1.Name and Item.0.Attribute.1.Value , and so on.

Attributes are uniquely identified within an item by their name/value combination. For example, a single item can have the attributes { "first_name", "first_value" } and { "first_name", "second_value" } . However, it cannot have two attribute instances where both the Item.X.Attribute.Y.Name and Item.X.Attribute.Y.Value are the same.

Optionally, the requester can supply the Replace parameter for each individual value. Setting this value to true will cause the new attribute values to replace the existing attribute values. For example, if an item I has the attributes { 'a', '1' }, { 'b', '2'} and { 'b', '3' } and the requester does a BatchPutAttributes of {'I', 'b', '4' } with the Replace parameter set to true, the final attributes of the item will be { 'a', '1' } and { 'b', '4' } , replacing the previous values of the 'b' attribute with the new value.

NOTE: You cannot specify an empty string as an item or as an attribute name. The BatchPutAttributes operation succeeds or fails in its entirety. There are no partial puts.

IMPORTANT: This operation is vulnerable to exceeding the maximum URL size when making a REST request using the HTTP GET method. This operation does not support conditions using Expected.X.Name, Expected.X.Value, or Expected.X.Exists.

You can execute multiple BatchPutAttributes operations and other operations in parallel. However, large numbers of concurrent BatchPutAttributes calls can result in Service Unavailable (503) responses.

The following limitations are enforced for this operation:

See Also:
AmazonSimpleDB.batchPutAttributes(BatchPutAttributesRequest)

Constructor Summary
BatchPutAttributesRequest()
          Default constructor for a new BatchPutAttributesRequest object.
BatchPutAttributesRequest(String domainName, List<ReplaceableItem> items)
          Constructs a new BatchPutAttributesRequest object.
 
Method Summary
 boolean equals(Object obj)
           
 String getDomainName()
          The name of the domain in which the attributes are being stored.
 List<ReplaceableItem> getItems()
          A list of items on which to perform the operation.
 int hashCode()
           
 void setDomainName(String domainName)
          The name of the domain in which the attributes are being stored.
 void setItems(Collection<ReplaceableItem> items)
          A list of items on which to perform the operation.
 String toString()
          Returns a string representation of this object; useful for testing and debugging.
 BatchPutAttributesRequest withDomainName(String domainName)
          The name of the domain in which the attributes are being stored.
 BatchPutAttributesRequest withItems(Collection<ReplaceableItem> items)
          A list of items on which to perform the operation.
 BatchPutAttributesRequest withItems(ReplaceableItem... items)
          A list of items on which to perform the operation.
 
Methods inherited from class com.amazonaws.AmazonWebServiceRequest
copyPrivateRequestParameters, getDelegationToken, getRequestClientOptions, getRequestCredentials, setDelegationToken, setRequestCredentials
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BatchPutAttributesRequest

public BatchPutAttributesRequest()
Default constructor for a new BatchPutAttributesRequest object. Callers should use the setter or fluent setter (with...) methods to initialize this object after creating it.


BatchPutAttributesRequest

public BatchPutAttributesRequest(String domainName,
                                 List<ReplaceableItem> items)
Constructs a new BatchPutAttributesRequest object. Callers should use the setter or fluent setter (with...) methods to initialize any additional object members.

Parameters:
domainName - The name of the domain in which the attributes are being stored.
items - A list of items on which to perform the operation.
Method Detail

getDomainName

public String getDomainName()
The name of the domain in which the attributes are being stored.

Returns:
The name of the domain in which the attributes are being stored.

setDomainName

public void setDomainName(String domainName)
The name of the domain in which the attributes are being stored.

Parameters:
domainName - The name of the domain in which the attributes are being stored.

withDomainName

public BatchPutAttributesRequest withDomainName(String domainName)
The name of the domain in which the attributes are being stored.

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

Parameters:
domainName - The name of the domain in which the attributes are being stored.
Returns:
A reference to this updated object so that method calls can be chained together.

getItems

public List<ReplaceableItem> getItems()
A list of items on which to perform the operation.

Returns:
A list of items on which to perform the operation.

setItems

public void setItems(Collection<ReplaceableItem> items)
A list of items on which to perform the operation.

Parameters:
items - A list of items on which to perform the operation.

withItems

public BatchPutAttributesRequest withItems(ReplaceableItem... items)
A list of items on which to perform the operation.

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

Parameters:
items - A list of items on which to perform the operation.
Returns:
A reference to this updated object so that method calls can be chained together.

withItems

public BatchPutAttributesRequest withItems(Collection<ReplaceableItem> items)
A list of items on which to perform the operation.

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

Parameters:
items - A list of items on which to perform the operation.
Returns:
A reference to this updated object so that method calls can be chained together.

toString

public String toString()
Returns a string representation of this object; useful for testing and debugging.

Overrides:
toString in class Object
Returns:
A string representation of this object.
See Also:
Object.toString()

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object


Copyright © 2010 Amazon Web Services, Inc. All Rights Reserved.