/* * Copyright 2010-2019 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.sqs.model; import java.io.Serializable; import com.amazonaws.AmazonWebServiceRequest; /** *

* Creates a new standard or FIFO queue or returns the URL of an existing queue. * You can pass one or more attributes in the request. *

* *

* To successfully create a new queue, you must provide a queue name that * adheres to the limits related to queues and is unique within the scope of your queues. *

*

* To get the queue URL, use the GetQueueUrl action. GetQueueUrl * requires only the QueueName parameter. *

* *

* Some API actions take lists of parameters. Specify these lists using the * param.n notation. Values of n are integers starting * from 1. The following is an example of a parameter list with two elements: *

*

* &Attribute.1=this *

*

* &Attribute.2=that *

*/ public class CreateQueueRequest extends AmazonWebServiceRequest implements Serializable { /** *

* The name of the new queue. The following limits apply to this name: *

* *

* Queue names are case-sensitive. *

*/ private String queueName; /** *

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the special * request parameters that the CreateQueue action uses: *

* *

* The following attributes apply only to FIFO (first-in-first-out) queues: *

* *

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

*/ private java.util.Map attributes = new java.util.HashMap(); /** * Default constructor for CreateQueueRequest object. Callers should use the * setter or fluent setter (with...) methods to initialize any additional * object members. */ public CreateQueueRequest() { } /** * Constructs a new CreateQueueRequest object. Callers should use the setter * or fluent setter (with...) methods to initialize any additional object * members. * * @param queueName

* The name of the new queue. The following limits apply to this * name: *

* *

* Queue names are case-sensitive. *

*/ public CreateQueueRequest(String queueName) { setQueueName(queueName); } /** *

* The name of the new queue. The following limits apply to this name: *

* *

* Queue names are case-sensitive. *

* * @return

* The name of the new queue. The following limits apply to this * name: *

* *

* Queue names are case-sensitive. *

*/ public String getQueueName() { return queueName; } /** *

* The name of the new queue. The following limits apply to this name: *

* *

* Queue names are case-sensitive. *

* * @param queueName

* The name of the new queue. The following limits apply to this * name: *

* *

* Queue names are case-sensitive. *

*/ public void setQueueName(String queueName) { this.queueName = queueName; } /** *

* The name of the new queue. The following limits apply to this name: *

* *

* Queue names are case-sensitive. *

*

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

* The name of the new queue. The following limits apply to this * name: *

* *

* Queue names are case-sensitive. *

* @return A reference to this updated object so that method calls can be * chained together. */ public CreateQueueRequest withQueueName(String queueName) { this.queueName = queueName; return this; } /** *

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the special * request parameters that the CreateQueue action uses: *

* *

* The following attributes apply only to FIFO (first-in-first-out) queues: *

* *

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

* * @return

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the * special request parameters that the CreateQueue * action uses: *

* *

* The following attributes apply only to FIFO (first-in-first-out) queues: *

* *

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp * , and QueueArn) will be ignored. *

*/ public java.util.Map getAttributes() { return attributes; } /** *

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the special * request parameters that the CreateQueue action uses: *

*
    *
  • *

    * DelaySeconds - The number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 345,600 (4 days). *

    *
  • *
  • *

    * Policy - The queue's policy. A valid AWS policy. For more * information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. *

    *
  • *
  • *

    * ReceiveMessageWaitTimeSeconds - The number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * The dead letter queue of a FIFO queue must also be a FIFO queue. * Similarly, the dead letter queue of a standard queue must also be a * standard queue. *

    *
  • *
  • *

    * VisibilityTimeout - The visibility timeout for the queue. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

* The following attributes apply only to FIFO (first-in-first-out) queues: *

*
    *
  • *

    * FifoQueue - Designates a queue as FIFO. You can provide this * attribute only during queue creation; you can't change it for an existing * queue. When you set this attribute, you must provide a * MessageGroupId explicitly. *

    *

    * For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *

    *
  • *
  • *

    * ContentBasedDeduplication - Enables content-based * deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide. *

    *
      *
    • *

      * Every message must have a unique MessageDeduplicationId, *

      *
        *
      • *

        * You may provide a MessageDeduplicationId explicitly. *

        *
      • *
      • *

        * If you aren't able to provide a MessageDeduplicationId and * you enable ContentBasedDeduplication for your queue, Amazon * SQS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but * not the attributes of the message). *

        *
      • *
      • *

        * If you don't provide a MessageDeduplicationId and the queue * doesn't have ContentBasedDeduplication set, the action fails * with an error. *

        *
      • *
      • *

        * If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one. *

        *
      • *
      *
    • *
    • *

      * When ContentBasedDeduplication is in effect, messages with * identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered. *

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

      * If you send one message with ContentBasedDeduplication * enabled and then another message with a * MessageDeduplicationId that is the same as the one generated * for the first MessageDeduplicationId, the two messages are * treated as duplicates and only one copy of the message is delivered. *

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

* * @param attributes

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the * special request parameters that the CreateQueue * action uses: *

*
    *
  • *

    * DelaySeconds - The number of seconds for which * the delivery of all messages in the queue is delayed. An * integer from 0 to 900 (15 minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes * a message can contain before Amazon SQS rejects it. An integer * from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The * default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds * for which Amazon SQS retains a message. An integer * representing seconds, from 60 (1 minute) to 120,9600 (14 * days). The default is 345,600 (4 days). *

    *
  • *
  • *

    * Policy - The queue's policy. A valid AWS policy. * For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User * Guide. *

    *
  • *
  • *

    * ReceiveMessageWaitTimeSeconds - The number of * seconds for which a ReceiveMessage action will wait for * a message to arrive. An integer from 0 to 20 (seconds). The * default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead * letter queue functionality of the source queue. For more * information about the redrive policy and dead letter queues, * see Using Amazon SQS Dead Letter Queues in the Amazon SQS * Developer Guide. *

    * *

    * The dead letter queue of a FIFO queue must also be a FIFO * queue. Similarly, the dead letter queue of a standard queue * must also be a standard queue. *

    *
  • *
  • *

    * VisibilityTimeout - The visibility timeout for * the queue. An integer from 0 to 43200 (12 hours). The default * is 30. For more information about the visibility timeout, see * Visibility Timeout in the Amazon SQS Developer * Guide. *

    *
  • *
*

* The following attributes apply only to FIFO (first-in-first-out) queues: *

*
    *
  • *

    * FifoQueue - Designates a queue as FIFO. You can * provide this attribute only during queue creation; you can't * change it for an existing queue. When you set this attribute, * you must provide a MessageGroupId explicitly. *

    *

    * For more information, see FIFO Queue Logic in the Amazon SQS Developer * Guide. *

    *
  • *
  • *

    * ContentBasedDeduplication - Enables content-based * deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer * Guide. *

    *
      *
    • *

      * Every message must have a unique * MessageDeduplicationId, *

      *
        *
      • *

        * You may provide a MessageDeduplicationId * explicitly. *

        *
      • *
      • *

        * If you aren't able to provide a * MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon * SQS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the * message (but not the attributes of the message). *

        *
      • *
      • *

        * If you don't provide a MessageDeduplicationId and * the queue doesn't have ContentBasedDeduplication * set, the action fails with an error. *

        *
      • *
      • *

        * If the queue has ContentBasedDeduplication set, * your MessageDeduplicationId overrides the * generated one. *

        *
      • *
      *
    • *
    • *

      * When ContentBasedDeduplication is in effect, * messages with identical content sent within the deduplication * interval are treated as duplicates and only one copy of the * message is delivered. *

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for * messages with identical content to be treated as duplicates. *

      *
    • *
    • *

      * If you send one message with * ContentBasedDeduplication enabled and then * another message with a MessageDeduplicationId * that is the same as the one generated for the first * MessageDeduplicationId, the two messages are * treated as duplicates and only one copy of the message is * delivered. *

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, * LastModifiedTimestamp, and QueueArn) * will be ignored. *

*/ public void setAttributes(java.util.Map attributes) { this.attributes = attributes; } /** *

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the special * request parameters that the CreateQueue action uses: *

*
    *
  • *

    * DelaySeconds - The number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 345,600 (4 days). *

    *
  • *
  • *

    * Policy - The queue's policy. A valid AWS policy. For more * information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. *

    *
  • *
  • *

    * ReceiveMessageWaitTimeSeconds - The number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * The dead letter queue of a FIFO queue must also be a FIFO queue. * Similarly, the dead letter queue of a standard queue must also be a * standard queue. *

    *
  • *
  • *

    * VisibilityTimeout - The visibility timeout for the queue. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

* The following attributes apply only to FIFO (first-in-first-out) queues: *

*
    *
  • *

    * FifoQueue - Designates a queue as FIFO. You can provide this * attribute only during queue creation; you can't change it for an existing * queue. When you set this attribute, you must provide a * MessageGroupId explicitly. *

    *

    * For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *

    *
  • *
  • *

    * ContentBasedDeduplication - Enables content-based * deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide. *

    *
      *
    • *

      * Every message must have a unique MessageDeduplicationId, *

      *
        *
      • *

        * You may provide a MessageDeduplicationId explicitly. *

        *
      • *
      • *

        * If you aren't able to provide a MessageDeduplicationId and * you enable ContentBasedDeduplication for your queue, Amazon * SQS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but * not the attributes of the message). *

        *
      • *
      • *

        * If you don't provide a MessageDeduplicationId and the queue * doesn't have ContentBasedDeduplication set, the action fails * with an error. *

        *
      • *
      • *

        * If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one. *

        *
      • *
      *
    • *
    • *

      * When ContentBasedDeduplication is in effect, messages with * identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered. *

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

      * If you send one message with ContentBasedDeduplication * enabled and then another message with a * MessageDeduplicationId that is the same as the one generated * for the first MessageDeduplicationId, the two messages are * treated as duplicates and only one copy of the message is delivered. *

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

*

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

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the * special request parameters that the CreateQueue * action uses: *

*
    *
  • *

    * DelaySeconds - The number of seconds for which * the delivery of all messages in the queue is delayed. An * integer from 0 to 900 (15 minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes * a message can contain before Amazon SQS rejects it. An integer * from 1,024 bytes (1 KiB) up to 262,144 bytes (256 KiB). The * default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds * for which Amazon SQS retains a message. An integer * representing seconds, from 60 (1 minute) to 120,9600 (14 * days). The default is 345,600 (4 days). *

    *
  • *
  • *

    * Policy - The queue's policy. A valid AWS policy. * For more information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User * Guide. *

    *
  • *
  • *

    * ReceiveMessageWaitTimeSeconds - The number of * seconds for which a ReceiveMessage action will wait for * a message to arrive. An integer from 0 to 20 (seconds). The * default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead * letter queue functionality of the source queue. For more * information about the redrive policy and dead letter queues, * see Using Amazon SQS Dead Letter Queues in the Amazon SQS * Developer Guide. *

    * *

    * The dead letter queue of a FIFO queue must also be a FIFO * queue. Similarly, the dead letter queue of a standard queue * must also be a standard queue. *

    *
  • *
  • *

    * VisibilityTimeout - The visibility timeout for * the queue. An integer from 0 to 43200 (12 hours). The default * is 30. For more information about the visibility timeout, see * Visibility Timeout in the Amazon SQS Developer * Guide. *

    *
  • *
*

* The following attributes apply only to FIFO (first-in-first-out) queues: *

*
    *
  • *

    * FifoQueue - Designates a queue as FIFO. You can * provide this attribute only during queue creation; you can't * change it for an existing queue. When you set this attribute, * you must provide a MessageGroupId explicitly. *

    *

    * For more information, see FIFO Queue Logic in the Amazon SQS Developer * Guide. *

    *
  • *
  • *

    * ContentBasedDeduplication - Enables content-based * deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer * Guide. *

    *
      *
    • *

      * Every message must have a unique * MessageDeduplicationId, *

      *
        *
      • *

        * You may provide a MessageDeduplicationId * explicitly. *

        *
      • *
      • *

        * If you aren't able to provide a * MessageDeduplicationId and you enable * ContentBasedDeduplication for your queue, Amazon * SQS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the * message (but not the attributes of the message). *

        *
      • *
      • *

        * If you don't provide a MessageDeduplicationId and * the queue doesn't have ContentBasedDeduplication * set, the action fails with an error. *

        *
      • *
      • *

        * If the queue has ContentBasedDeduplication set, * your MessageDeduplicationId overrides the * generated one. *

        *
      • *
      *
    • *
    • *

      * When ContentBasedDeduplication is in effect, * messages with identical content sent within the deduplication * interval are treated as duplicates and only one copy of the * message is delivered. *

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for * messages with identical content to be treated as duplicates. *

      *
    • *
    • *

      * If you send one message with * ContentBasedDeduplication enabled and then * another message with a MessageDeduplicationId * that is the same as the one generated for the first * MessageDeduplicationId, the two messages are * treated as duplicates and only one copy of the message is * delivered. *

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified * (such as ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, * LastModifiedTimestamp, and QueueArn) * will be ignored. *

* @return A reference to this updated object so that method calls can be * chained together. */ public CreateQueueRequest withAttributes(java.util.Map attributes) { this.attributes = attributes; return this; } /** *

* A map of attributes with their corresponding values. *

*

* The following lists the names, descriptions, and values of the special * request parameters that the CreateQueue action uses: *

*
    *
  • *

    * DelaySeconds - The number of seconds for which the delivery * of all messages in the queue is delayed. An integer from 0 to 900 (15 * minutes). The default is 0 (zero). *

    *
  • *
  • *

    * MaximumMessageSize - The limit of how many bytes a message * can contain before Amazon SQS rejects it. An integer from 1,024 bytes (1 * KiB) up to 262,144 bytes (256 KiB). The default is 262,144 (256 KiB). *

    *
  • *
  • *

    * MessageRetentionPeriod - The number of seconds for which * Amazon SQS retains a message. An integer representing seconds, from 60 (1 * minute) to 120,9600 (14 days). The default is 345,600 (4 days). *

    *
  • *
  • *

    * Policy - The queue's policy. A valid AWS policy. For more * information about policy structure, see Overview of AWS IAM Policies in the Amazon IAM User Guide. *

    *
  • *
  • *

    * ReceiveMessageWaitTimeSeconds - The number of seconds for * which a ReceiveMessage action will wait for a message to arrive. * An integer from 0 to 20 (seconds). The default is 0. *

    *
  • *
  • *

    * RedrivePolicy - The parameters for the dead letter queue * functionality of the source queue. For more information about the redrive * policy and dead letter queues, see Using Amazon SQS Dead Letter Queues in the Amazon SQS Developer * Guide. *

    * *

    * The dead letter queue of a FIFO queue must also be a FIFO queue. * Similarly, the dead letter queue of a standard queue must also be a * standard queue. *

    *
  • *
  • *

    * VisibilityTimeout - The visibility timeout for the queue. An * integer from 0 to 43200 (12 hours). The default is 30. For more * information about the visibility timeout, see Visibility Timeout in the Amazon SQS Developer Guide. *

    *
  • *
*

* The following attributes apply only to FIFO (first-in-first-out) queues: *

*
    *
  • *

    * FifoQueue - Designates a queue as FIFO. You can provide this * attribute only during queue creation; you can't change it for an existing * queue. When you set this attribute, you must provide a * MessageGroupId explicitly. *

    *

    * For more information, see FIFO Queue Logic in the Amazon SQS Developer Guide. *

    *
  • *
  • *

    * ContentBasedDeduplication - Enables content-based * deduplication. For more information, see Exactly-Once Processing in the Amazon SQS Developer Guide. *

    *
      *
    • *

      * Every message must have a unique MessageDeduplicationId, *

      *
        *
      • *

        * You may provide a MessageDeduplicationId explicitly. *

        *
      • *
      • *

        * If you aren't able to provide a MessageDeduplicationId and * you enable ContentBasedDeduplication for your queue, Amazon * SQS uses a SHA-256 hash to generate the * MessageDeduplicationId using the body of the message (but * not the attributes of the message). *

        *
      • *
      • *

        * If you don't provide a MessageDeduplicationId and the queue * doesn't have ContentBasedDeduplication set, the action fails * with an error. *

        *
      • *
      • *

        * If the queue has ContentBasedDeduplication set, your * MessageDeduplicationId overrides the generated one. *

        *
      • *
      *
    • *
    • *

      * When ContentBasedDeduplication is in effect, messages with * identical content sent within the deduplication interval are treated as * duplicates and only one copy of the message is delivered. *

      *
    • *
    • *

      * You can also use ContentBasedDeduplication for messages with * identical content to be treated as duplicates. *

      *
    • *
    • *

      * If you send one message with ContentBasedDeduplication * enabled and then another message with a * MessageDeduplicationId that is the same as the one generated * for the first MessageDeduplicationId, the two messages are * treated as duplicates and only one copy of the message is delivered. *

      *
    • *
    *
  • *
*

* Any other valid special request parameters that are specified (such as * ApproximateNumberOfMessages, * ApproximateNumberOfMessagesDelayed, * ApproximateNumberOfMessagesNotVisible, * CreatedTimestamp, LastModifiedTimestamp, and * QueueArn) will be ignored. *

*

* The method adds a new key-value pair into Attributes 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 Attributes. * @param value The corresponding value of the entry to be added into * Attributes. * @return A reference to this updated object so that method calls can be * chained together. */ public CreateQueueRequest addAttributesEntry(String key, String value) { if (null == this.attributes) { this.attributes = new java.util.HashMap(); } if (this.attributes.containsKey(key)) throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided."); this.attributes.put(key, value); return this; } /** * Removes all the entries added into Attributes. *

* Returns a reference to this object so that method calls can be chained * together. */ public CreateQueueRequest clearAttributesEntries() { this.attributes = null; 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 (getQueueName() != null) sb.append("QueueName: " + getQueueName() + ","); if (getAttributes() != null) sb.append("Attributes: " + getAttributes()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getQueueName() == null) ? 0 : getQueueName().hashCode()); hashCode = prime * hashCode + ((getAttributes() == null) ? 0 : getAttributes().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateQueueRequest == false) return false; CreateQueueRequest other = (CreateQueueRequest) obj; if (other.getQueueName() == null ^ this.getQueueName() == null) return false; if (other.getQueueName() != null && other.getQueueName().equals(this.getQueueName()) == false) return false; if (other.getAttributes() == null ^ this.getAttributes() == null) return false; if (other.getAttributes() != null && other.getAttributes().equals(this.getAttributes()) == false) return false; return true; } }