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

com.amazonaws.services.sqs.model.MessageAttributeValue Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS 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).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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;

/**
 * 

* The user-specified message attribute value. For string data types, the value * attribute has the same restrictions on the content as the message body. For * more information, see SendMessage. *

*

* Name, type, and value must not be empty or null. In addition, the message * body should not be empty or null. All parts of the message attribute, * including name, type, and value, are included in the message size * restriction, which is currently 256 KB (262,144 bytes). *

*/ public class MessageAttributeValue implements Serializable, Cloneable { /** *

* Strings are Unicode with UTF8 binary encoding. For a list of code values, * see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

*/ private String stringValue; /** *

* Binary type attributes can store any binary data, for example, compressed * data, encrypted data, or images. *

*/ private java.nio.ByteBuffer binaryValue; /** *

* Not implemented. Reserved for future use. *

*/ private com.amazonaws.internal.SdkInternalList stringListValues; /** *

* Not implemented. Reserved for future use. *

*/ private com.amazonaws.internal.SdkInternalList binaryListValues; /** *

* Amazon SQS supports the following logical data types: String, Number, and * Binary. For the Number data type, you must use StringValue. *

*

* You can also append custom labels. For more information, see Message Attribute Data Types. *

*/ private String dataType; /** *

* Strings are Unicode with UTF8 binary encoding. For a list of code values, * see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

* * @param stringValue * Strings are Unicode with UTF8 binary encoding. For a list of code * values, see http * ://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. */ public void setStringValue(String stringValue) { this.stringValue = stringValue; } /** *

* Strings are Unicode with UTF8 binary encoding. For a list of code values, * see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

* * @return Strings are Unicode with UTF8 binary encoding. For a list of code * values, see http * ://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. */ public String getStringValue() { return this.stringValue; } /** *

* Strings are Unicode with UTF8 binary encoding. For a list of code values, * see http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. *

* * @param stringValue * Strings are Unicode with UTF8 binary encoding. For a list of code * values, see http * ://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withStringValue(String stringValue) { setStringValue(stringValue); return this; } /** *

* Binary type attributes can store any binary data, for example, compressed * data, encrypted data, or images. *

*

* AWS SDK for Java performs a Base64 encoding on this field before sending * this request to AWS service by default. Users of the SDK should not * perform Base64 encoding on this field. *

*

* Warning: ByteBuffers returned by the SDK are mutable. Changes to the * content or position of the byte buffer will be seen by all objects that * have a reference to this object. It is recommended to call * ByteBuffer.duplicate() or ByteBuffer.asReadOnlyBuffer() before using or * reading from the buffer. This behavior will be changed in a future major * version of the SDK. *

* * @param binaryValue * Binary type attributes can store any binary data, for example, * compressed data, encrypted data, or images. */ public void setBinaryValue(java.nio.ByteBuffer binaryValue) { this.binaryValue = binaryValue; } /** *

* Binary type attributes can store any binary data, for example, compressed * data, encrypted data, or images. *

*

* {@code ByteBuffer}s are stateful. Calling their {@code get} methods * changes their {@code position}. We recommend using * {@link java.nio.ByteBuffer#asReadOnlyBuffer()} to create a read-only view * of the buffer with an independent {@code position}, and calling * {@code get} methods on this rather than directly on the returned * {@code ByteBuffer}. Doing so will ensure that anyone else using the * {@code ByteBuffer} will not be affected by changes to the {@code position} * . *

* * @return Binary type attributes can store any binary data, for example, * compressed data, encrypted data, or images. */ public java.nio.ByteBuffer getBinaryValue() { return this.binaryValue; } /** *

* Binary type attributes can store any binary data, for example, compressed * data, encrypted data, or images. *

* * @param binaryValue * Binary type attributes can store any binary data, for example, * compressed data, encrypted data, or images. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withBinaryValue(java.nio.ByteBuffer binaryValue) { setBinaryValue(binaryValue); return this; } /** *

* Not implemented. Reserved for future use. *

* * @return Not implemented. Reserved for future use. */ public java.util.List getStringListValues() { if (stringListValues == null) { stringListValues = new com.amazonaws.internal.SdkInternalList(); } return stringListValues; } /** *

* Not implemented. Reserved for future use. *

* * @param stringListValues * Not implemented. Reserved for future use. */ public void setStringListValues( java.util.Collection stringListValues) { if (stringListValues == null) { this.stringListValues = null; return; } this.stringListValues = new com.amazonaws.internal.SdkInternalList( stringListValues); } /** *

* Not implemented. Reserved for future use. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setStringListValues(java.util.Collection)} or * {@link #withStringListValues(java.util.Collection)} if you want to * override the existing values. *

* * @param stringListValues * Not implemented. Reserved for future use. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withStringListValues( String... stringListValues) { if (this.stringListValues == null) { setStringListValues(new com.amazonaws.internal.SdkInternalList( stringListValues.length)); } for (String ele : stringListValues) { this.stringListValues.add(ele); } return this; } /** *

* Not implemented. Reserved for future use. *

* * @param stringListValues * Not implemented. Reserved for future use. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withStringListValues( java.util.Collection stringListValues) { setStringListValues(stringListValues); return this; } /** *

* Not implemented. Reserved for future use. *

* * @return Not implemented. Reserved for future use. */ public java.util.List getBinaryListValues() { if (binaryListValues == null) { binaryListValues = new com.amazonaws.internal.SdkInternalList(); } return binaryListValues; } /** *

* Not implemented. Reserved for future use. *

* * @param binaryListValues * Not implemented. Reserved for future use. */ public void setBinaryListValues( java.util.Collection binaryListValues) { if (binaryListValues == null) { this.binaryListValues = null; return; } this.binaryListValues = new com.amazonaws.internal.SdkInternalList( binaryListValues); } /** *

* Not implemented. Reserved for future use. *

*

* NOTE: This method appends the values to the existing list (if * any). Use {@link #setBinaryListValues(java.util.Collection)} or * {@link #withBinaryListValues(java.util.Collection)} if you want to * override the existing values. *

* * @param binaryListValues * Not implemented. Reserved for future use. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withBinaryListValues( java.nio.ByteBuffer... binaryListValues) { if (this.binaryListValues == null) { setBinaryListValues(new com.amazonaws.internal.SdkInternalList( binaryListValues.length)); } for (java.nio.ByteBuffer ele : binaryListValues) { this.binaryListValues.add(ele); } return this; } /** *

* Not implemented. Reserved for future use. *

* * @param binaryListValues * Not implemented. Reserved for future use. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withBinaryListValues( java.util.Collection binaryListValues) { setBinaryListValues(binaryListValues); return this; } /** *

* Amazon SQS supports the following logical data types: String, Number, and * Binary. For the Number data type, you must use StringValue. *

*

* You can also append custom labels. For more information, see Message Attribute Data Types. *

* * @param dataType * Amazon SQS supports the following logical data types: String, * Number, and Binary. For the Number data type, you must use * StringValue.

*

* You can also append custom labels. For more information, see Message Attribute Data Types. */ public void setDataType(String dataType) { this.dataType = dataType; } /** *

* Amazon SQS supports the following logical data types: String, Number, and * Binary. For the Number data type, you must use StringValue. *

*

* You can also append custom labels. For more information, see Message Attribute Data Types. *

* * @return Amazon SQS supports the following logical data types: String, * Number, and Binary. For the Number data type, you must use * StringValue.

*

* You can also append custom labels. For more information, see Message Attribute Data Types. */ public String getDataType() { return this.dataType; } /** *

* Amazon SQS supports the following logical data types: String, Number, and * Binary. For the Number data type, you must use StringValue. *

*

* You can also append custom labels. For more information, see Message Attribute Data Types. *

* * @param dataType * Amazon SQS supports the following logical data types: String, * Number, and Binary. For the Number data type, you must use * StringValue.

*

* You can also append custom labels. For more information, see Message Attribute Data Types. * @return Returns a reference to this object so that method calls can be * chained together. */ public MessageAttributeValue withDataType(String dataType) { setDataType(dataType); 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 (getStringValue() != null) sb.append("StringValue: " + getStringValue() + ","); if (getBinaryValue() != null) sb.append("BinaryValue: " + getBinaryValue() + ","); if (getStringListValues() != null) sb.append("StringListValues: " + getStringListValues() + ","); if (getBinaryListValues() != null) sb.append("BinaryListValues: " + getBinaryListValues() + ","); if (getDataType() != null) sb.append("DataType: " + getDataType()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof MessageAttributeValue == false) return false; MessageAttributeValue other = (MessageAttributeValue) obj; if (other.getStringValue() == null ^ this.getStringValue() == null) return false; if (other.getStringValue() != null && other.getStringValue().equals(this.getStringValue()) == false) return false; if (other.getBinaryValue() == null ^ this.getBinaryValue() == null) return false; if (other.getBinaryValue() != null && other.getBinaryValue().equals(this.getBinaryValue()) == false) return false; if (other.getStringListValues() == null ^ this.getStringListValues() == null) return false; if (other.getStringListValues() != null && other.getStringListValues().equals( this.getStringListValues()) == false) return false; if (other.getBinaryListValues() == null ^ this.getBinaryListValues() == null) return false; if (other.getBinaryListValues() != null && other.getBinaryListValues().equals( this.getBinaryListValues()) == false) return false; if (other.getDataType() == null ^ this.getDataType() == null) return false; if (other.getDataType() != null && other.getDataType().equals(this.getDataType()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getStringValue() == null) ? 0 : getStringValue().hashCode()); hashCode = prime * hashCode + ((getBinaryValue() == null) ? 0 : getBinaryValue().hashCode()); hashCode = prime * hashCode + ((getStringListValues() == null) ? 0 : getStringListValues() .hashCode()); hashCode = prime * hashCode + ((getBinaryListValues() == null) ? 0 : getBinaryListValues() .hashCode()); hashCode = prime * hashCode + ((getDataType() == null) ? 0 : getDataType().hashCode()); return hashCode; } @Override public MessageAttributeValue clone() { try { return (MessageAttributeValue) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy