public interface MapMessage extends Message
MapMessage object is used to send a set of name-value pairs. The names are String objects, and the
values are primitive data types in the Java programming language. The names must have a value that is not null, and
not an empty string. The entries can be accessed sequentially or randomly by name. The order of the entries is
undefined. MapMessage inherits from the Message interface and adds a message body that contains a
Map.
The primitive types can be read or written explicitly using methods for each type. They may also be read or written
generically as objects. For instance, a call to MapMessage.setInt("foo", 6) is equivalent to
MapMessage.setObject("foo", new Integer(6)). Both forms are provided, because the explicit form is convenient
for static programming, and the object form is needed when types are not known at compile time.
When a client receives a MapMessage, it is in read-only mode. If a client attempts to write to the message at
this point, a MessageNotWriteableException is thrown. If clearBody is called, the message can now be
both read from and written to.
MapMessage objects support the following conversion table. The marked cases must be supported. The unmarked
cases must throw a JMSException. The String-to-primitive conversions may throw a runtime exception if
the primitive's valueOf() method does not accept it as a valid String representation of the
primitive.
A value written as the row type can be read as the column type.
| | boolean byte short char int long float double String byte[] |---------------------------------------------------------------------- |boolean | X X |byte | X X X X X |short | X X X X |char | X X |int | X X X |long | X X |float | X X X |double | X X |String | X X X X X X X X |byte[] | X |----------------------------------------------------------------------
Attempting to read a null value as a primitive type must be treated as calling the primitive's corresponding
valueOf(String) conversion method with a null value. Since char does not support a String
conversion, attempting to read a null value as a char must throw a NullPointerException.
Session.createMapMessage(),
BytesMessage,
Message,
ObjectMessage,
StreamMessage,
TextMessageDEFAULT_DELIVERY_DELAY, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE| Modifier and Type | Method and Description |
|---|---|
boolean |
getBoolean(java.lang.String name)
Returns the
boolean value with the specified name. |
byte |
getByte(java.lang.String name)
Returns the
byte value with the specified name. |
byte[] |
getBytes(java.lang.String name)
Returns the byte array value with the specified name.
|
char |
getChar(java.lang.String name)
Returns the Unicode character value with the specified name.
|
double |
getDouble(java.lang.String name)
Returns the
double value with the specified name. |
float |
getFloat(java.lang.String name)
Returns the
float value with the specified name. |
int |
getInt(java.lang.String name)
Returns the
int value with the specified name. |
long |
getLong(java.lang.String name)
Returns the
long value with the specified name. |
java.util.Enumeration |
getMapNames()
Returns an
Enumeration of all the names in the MapMessage object. |
java.lang.Object |
getObject(java.lang.String name)
Returns the value of the object with the specified name.
|
short |
getShort(java.lang.String name)
Returns the
short value with the specified name. |
java.lang.String |
getString(java.lang.String name)
Returns the
String value with the specified name. |
boolean |
itemExists(java.lang.String name)
Indicates whether an item exists in this
MapMessage object. |
void |
setBoolean(java.lang.String name,
boolean value)
Sets a
boolean value with the specified name into the Map. |
void |
setByte(java.lang.String name,
byte value)
Sets a
byte value with the specified name into the Map. |
void |
setBytes(java.lang.String name,
byte[] value)
Sets a byte array value with the specified name into the Map.
|
void |
setBytes(java.lang.String name,
byte[] value,
int offset,
int length)
Sets a portion of the byte array value with the specified name into the Map.
|
void |
setChar(java.lang.String name,
char value)
Sets a Unicode character value with the specified name into the Map.
|
void |
setDouble(java.lang.String name,
double value)
Sets a
double value with the specified name into the Map. |
void |
setFloat(java.lang.String name,
float value)
Sets a
float value with the specified name into the Map. |
void |
setInt(java.lang.String name,
int value)
Sets an
int value with the specified name into the Map. |
void |
setLong(java.lang.String name,
long value)
Sets a
long value with the specified name into the Map. |
void |
setObject(java.lang.String name,
java.lang.Object value)
Sets an object value with the specified name into the Map.
|
void |
setShort(java.lang.String name,
short value)
Sets a
short value with the specified name into the Map. |
void |
setString(java.lang.String name,
java.lang.String value)
Sets a
String value with the specified name into the Map. |
acknowledge, clearBody, clearProperties, getBody, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDeliveryTime, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, isBodyAssignableTo, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDeliveryTime, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringPropertyboolean getBoolean(java.lang.String name)
throws JMSException
boolean value with the specified name.name - the name of the booleanboolean value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.byte getByte(java.lang.String name)
throws JMSException
byte value with the specified name.name - the name of the bytebyte value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.short getShort(java.lang.String name)
throws JMSException
short value with the specified name.name - the name of the shortshort value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.char getChar(java.lang.String name)
throws JMSException
name - the name of the Unicode characterJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.int getInt(java.lang.String name)
throws JMSException
int value with the specified name.name - the name of the intint value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.long getLong(java.lang.String name)
throws JMSException
long value with the specified name.name - the name of the longlong value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.float getFloat(java.lang.String name)
throws JMSException
float value with the specified name.name - the name of the floatfloat value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.double getDouble(java.lang.String name)
throws JMSException
double value with the specified name.name - the name of the doubledouble value with the specified nameJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.java.lang.String getString(java.lang.String name)
throws JMSException
String value with the specified name.name - the name of the StringString value with the specified name; if there is no item by this name, a null value is returnedJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.byte[] getBytes(java.lang.String name)
throws JMSException
name - the name of the byte arrayJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.MessageFormatException - if this type conversion is invalid.java.lang.Object getObject(java.lang.String name)
throws JMSException
This method can be used to return, in objectified format, an object in the Java programming language ("Java object")
that had been stored in the Map with the equivalent setObject method call, or its equivalent primitive
settype method.
Note that byte values are returned as byte[], not Byte[].
name - the name of the Java objectint, an Integer is returned); if there is no item by this name, a null value is
returnedJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.java.util.Enumeration getMapNames()
throws JMSException
Enumeration of all the names in the MapMessage object.MapMessageJMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.void setBoolean(java.lang.String name,
boolean value)
throws JMSException
boolean value with the specified name into the Map.name - the name of the booleanvalue - the boolean value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setByte(java.lang.String name,
byte value)
throws JMSException
byte value with the specified name into the Map.name - the name of the bytevalue - the byte value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setShort(java.lang.String name,
short value)
throws JMSException
short value with the specified name into the Map.name - the name of the shortvalue - the short value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setChar(java.lang.String name,
char value)
throws JMSException
name - the name of the Unicode charactervalue - the Unicode character value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setInt(java.lang.String name,
int value)
throws JMSException
int value with the specified name into the Map.name - the name of the intvalue - the int value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setLong(java.lang.String name,
long value)
throws JMSException
long value with the specified name into the Map.name - the name of the longvalue - the long value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setFloat(java.lang.String name,
float value)
throws JMSException
float value with the specified name into the Map.name - the name of the floatvalue - the float value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setDouble(java.lang.String name,
double value)
throws JMSException
double value with the specified name into the Map.name - the name of the doublevalue - the double value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setString(java.lang.String name,
java.lang.String value)
throws JMSException
String value with the specified name into the Map.name - the name of the Stringvalue - the String value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setBytes(java.lang.String name,
byte[] value)
throws JMSException
name - the name of the byte arrayvalue - the byte array value to set in the Map; the array is copied so that the value for name will not
be altered by future modificationsJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null, or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setBytes(java.lang.String name,
byte[] value,
int offset,
int length)
throws JMSException
name - the name of the byte arrayvalue - the byte array value to set in the Mapoffset - the initial offset within the byte arraylength - the number of bytes to useJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageNotWriteableException - if the message is in read-only mode.void setObject(java.lang.String name,
java.lang.Object value)
throws JMSException
This method works only for the objectified primitive object types (Integer, Double,
Long ...), String objects, and byte arrays.
name - the name of the Java objectvalue - the Java object value to set in the MapJMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.java.lang.IllegalArgumentException - if the name is null or if the name is an empty string.MessageFormatException - if the object is invalid.MessageNotWriteableException - if the message is in read-only mode.boolean itemExists(java.lang.String name)
throws JMSException
MapMessage object.name - the name of the item to testJMSException - if the Jakarta Messaging provider fails to determine if the item exists due to some internal error.