Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010-2015 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.simpledb.model;
 
 
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:

  • 256 attribute name-value pairs per item
  • 1 MB request size
  • 1 billion attributes per domain
  • 10 GB of total user data storage per domain
  • 25 item limit per BatchPutAttributes operation

 
 public class BatchPutAttributesRequest extends AmazonWebServiceRequest implements SerializableCloneable {

    
The name of the domain in which the attributes are being stored.
    private String domainName;

    
A list of items on which to perform the operation.
Default constructor for a new BatchPutAttributesRequest object. Callers should use the setter or fluent setter (with...) methods to initialize this object after creating it.
    public BatchPutAttributesRequest() {}
    
    
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.
    public BatchPutAttributesRequest(String domainNamejava.util.List<ReplaceableItemitems) {
        setDomainName(domainName);
        setItems(items);
    }

    
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.
    public String getDomainName() {
        return ;
    }
    
    
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.
    public void setDomainName(String domainName) {
        this. = 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.
    public BatchPutAttributesRequest withDomainName(String domainName) {
        this. = domainName;
        return this;
    }

    
A list of items on which to perform the operation.

Returns:
A list of items on which to perform the operation.
    public java.util.List<ReplaceableItemgetItems() {
        if ( == null) {
               = new com.amazonaws.internal.ListWithAutoConstructFlag<ReplaceableItem>();
              .setAutoConstruct(true);
        }
        return ;
    }
    
    
A list of items on which to perform the operation.

Parameters:
items A list of items on which to perform the operation.
    public void setItems(java.util.Collection<ReplaceableItemitems) {
        if (items == null) {
            this. = null;
            return;
        }
        itemsCopy.addAll(items);
        this. = itemsCopy;
    }
    
    
A list of items on which to perform the operation.

NOTE: This method appends the values to the existing list (if any). Use setItems(java.util.Collection) or withItems(java.util.Collection) if you want to override the existing values.

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.
        if (getItems() == nullsetItems(new java.util.ArrayList<ReplaceableItem>(items.length));
        for (ReplaceableItem value : items) {
            getItems().add(value);
        }
        return this;
    }
    
    
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.
        if (items == null) {
            this. = null;
        } else {
            itemsCopy.addAll(items);
            this. = itemsCopy;
        }
        return this;
    }

    
Returns a string representation of this object; useful for testing and debugging.

Returns:
A string representation of this object.
See also:
java.lang.Object.toString()
    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("{");
        if (getDomainName() != nullsb.append("DomainName: " + getDomainName() + ",");
        if (getItems() != nullsb.append("Items: " + getItems() );
        sb.append("}");
        return sb.toString();
    }
    
    @Override
    public int hashCode() {
        final int prime = 31;
        int hashCode = 1;
        
        hashCode = prime * hashCode + ((getDomainName() == null) ? 0 : getDomainName().hashCode()); 
        hashCode = prime * hashCode + ((getItems() == null) ? 0 : getItems().hashCode()); 
        return hashCode;
    }
    
    @Override
    public boolean equals(Object obj) {
        if (this == objreturn true;
        if (obj == nullreturn false;
        if (obj instanceof BatchPutAttributesRequest == falsereturn false;
        
        if (other.getDomainName() == null ^ this.getDomainName() == nullreturn false;
        if (other.getDomainName() != null && other.getDomainName().equals(this.getDomainName()) == falsereturn false
        if (other.getItems() == null ^ this.getItems() == nullreturn false;
        if (other.getItems() != null && other.getItems().equals(this.getItems()) == falsereturn false
        return true;
    }
    
    @Override
    public BatchPutAttributesRequest clone() {
        
            return (BatchPutAttributesRequestsuper.clone();
    }
}
    
New to GrepCode? Check out our FAQ X