com.ibm.jms

Class JMSMapMessage

  1. java.lang.Object
  2. extended bycom.ibm.jms.JMSMessage
  3. extended bycom.ibm.jms.JMSMapMessage
All implemented interfaces:
java.io.Serializable, javax.jms.MapMessage, javax.jms.Message

  1. public class JMSMapMessage
  2. extends JMSMessage
  3. implements javax.jms.MapMessage

JMSMapMessage is used to send a set of name/type/value triplets. The entries can be accessed sequentially or randomly by name. The order of the entries is undefined. It adds a map message body.

The primitive types can be read or written explicitly using methods for each type. They can also be read or written generically as objects. For example, the call
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 then be both read from and written to.

Map messages support the following conversion table. The marked cases are supported and the unmarked cases throw a JMSException. The String to primitive conversions might 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      X
 byte[]                                                               X
 --------------------------------------------------------------------------
 

To create a map message please call Session.createMapMessage(). Do not call the default constructor.

See Also:
Serialized Form

Field Summary

Modifier and Type Field and Description
  1. static
  2. java.lang.String
sccsid
The SCCSID which is expanded when the file is extracted from CMVC
Fields inherited from class com.ibm.jms.JMSMessage
CHARSET_PROPERTY, ENCODING_PROPERTY
Fields inherited from interface javax.jms.Message
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE

Constructor Summary

Constructor and Description
JMSMapMessage()
Deprecated.

Method Summary

Modifier and Type Method and Description
  1. boolean
getBoolean(java.lang.String name)
Gets the boolean value of the named key.
  1. byte
getByte(java.lang.String name)
Gets the byte value of the named key.
  1. byte[]
getBytes(java.lang.String name)
Gets the byte array value of the named key.
  1. char
getChar(java.lang.String name)
Gets the Unicode char value of the named key.
  1. double
getDouble(java.lang.String name)
Gets the double value of the named key.
  1. float
getFloat(java.lang.String name)
Gets the float value of the named key.
  1. int
getInt(java.lang.String name)
Gets the integer value of the named key.
  1. long
getLong(java.lang.String name)
Gets the long value of the named key.
  1. java.util.Enumeration<?>
getMapNames()
Gets an Enumeration of all the MapMessage's names.
  1. java.lang.Object
getObject(java.lang.String name)
Gets the Java object with the given name.
  1. short
getShort(java.lang.String name)
Gets the short value of the named key.
  1. java.lang.String
getString(java.lang.String name)
Gets the String value of the named key.
  1. boolean
itemExists(java.lang.String name)
Checks whether an item exists in this MapMessage.
  1. void
setBoolean(java.lang.String name,boolean value)
Sets a boolean value with the given name in the map.
  1. void
setByte(java.lang.String name,byte value)
Sets a byte value with the given name in the map.
  1. void
setBytes(java.lang.String name,byte[] value)
Sets a byte array with the given name in the map.
  1. void
setBytes(java.lang.String name,byte[] value,int offset,int length)
Sets a portion of a byte array in the map with the given name.
  1. void
setChar(java.lang.String name,char value)
Sets a Unicode character with the given name in the map.
  1. void
setDouble(java.lang.String name,double value)
Sets a double value with the given name in the map.
  1. void
setFloat(java.lang.String name,float value)
Sets a floating point value with the given name in the map.
  1. void
setInt(java.lang.String name,int value)
Sets an integer value with the given name in the map.
  1. void
setLong(java.lang.String name,long value)
Sets a long value with the given name in the map.
  1. void
setObject(java.lang.String name,java.lang.Object value)
Sets a Java object with the given name in the map.
  1. void
setShort(java.lang.String name,short value)
Sets a short value with the given name in the map.
  1. void
setString(java.lang.String name,java.lang.String value)
Sets a String value with the given name in the map.
Methods inherited from class com.ibm.jms.JMSMessage
acknowledge, clearBody, clearProperties, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface javax.jms.Message
acknowledge, clearBody, clearProperties, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty

Field Detail

sccsid

  1. public static final java.lang.String sccsid
The SCCSID which is expanded when the file is extracted from CMVC
See Also:

Constructor Detail

JMSMapMessage

  1. @Deprecated
  2. public JMSMapMessage( )
Deprecated.

To create a map message please call Session.createMapMessage().

Do not call this default constructor.

Method Detail

getBoolean

  1. public boolean getBoolean(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the boolean value of the named key.
Specified by:
getBoolean in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the boolean value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getByte

  1. public byte getByte(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the byte value of the named key.
Specified by:
getByte in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the byte value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getBytes

  1. public byte[] getBytes(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the byte array value of the named key.
Specified by:
getBytes in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the byte array
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid.

getChar

  1. public char getChar(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the Unicode char value of the named key.
Specified by:
getChar in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the char
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getDouble

  1. public double getDouble(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the double value of the named key.
Specified by:
getDouble in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the double value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getFloat

  1. public float getFloat(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the float value of the named key.
Specified by:
getFloat in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the float value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getInt

  1. public int getInt(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the integer value of the named key.
Specified by:
getInt in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the integer value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getLong

  1. public long getLong(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the long value of the named key.
Specified by:
getLong in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the long value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getMapNames

  1. public java.util.Enumeration<?> getMapNames( )
  2. throws javax.jms.JMSException
Gets an Enumeration of all the MapMessage's names.
Specified by:
getMapNames in interface javax.jms.MapMessage
Returns:
an enumeration of all the names in this MapMessage
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error

getObject

  1. public java.lang.Object getObject( java.lang.String name)
  2. throws javax.jms.JMSException
Gets the Java object with the given name.

This method can be used to return, as a class instance, an object that had been stored in the Map with the equivalent setObject() method call, or its equivalent primitive setter method.

Specified by:
getObject in interface javax.jms.MapMessage
Parameters:
name - the name of the Java object
Returns:
a class which represents the object referred to by the given name. If there is no item by this name, a null value is returned.
Throws:
javax.jms.JMSException - if JMS fails to read message due to an internal error

getShort

  1. public short getShort(java.lang.String name)
  2. throws javax.jms.JMSException
Gets the short value of the named key.
Specified by:
getShort in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the short value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

getString

  1. public java.lang.String getString( java.lang.String name)
  2. throws javax.jms.JMSException
Gets the String value of the named key.
Specified by:
getString in interface javax.jms.MapMessage
Parameters:
name - the name of the key
Returns:
the String value
Throws:
javax.jms.JMSException - if JMS fails to read the message due to an internal error
javax.jms.MessageFormatException - if this type conversion is not valid

itemExists

  1. public boolean itemExists(java.lang.String name)
  2. throws javax.jms.JMSException
Checks whether an item exists in this MapMessage.
Specified by:
itemExists in interface javax.jms.MapMessage
Parameters:
name - the name of the item to test
Returns:
true if the item does exist
Throws:
javax.jms.JMSException - if a JMS error occurs

setBoolean

  1. public void setBoolean(java.lang.String name,
  2. boolean value)
  3. throws javax.jms.JMSException
Sets a boolean value with the given name in the map.
Specified by:
setBoolean in interface javax.jms.MapMessage
Parameters:
name - the name of the boolean
value - the boolean value to set in the map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setByte

  1. public void setByte(java.lang.String name,
  2. byte value)
  3. throws javax.jms.JMSException
Sets a byte value with the given name in the map.
Specified by:
setByte in interface javax.jms.MapMessage
Parameters:
name - the name of the byte
value - the byte value to set in the map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setBytes

  1. public void setBytes(java.lang.String name,
  2. byte[] value)
  3. throws javax.jms.JMSException
Sets a byte array with the given name in the map.
Specified by:
setBytes in interface javax.jms.MapMessage
Parameters:
name - the name of the array
value - the byte array to set in the map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setBytes

  1. public void setBytes(java.lang.String name,
  2. byte[] value,
  3. int offset,
  4. int length)
  5. throws javax.jms.JMSException
Sets a portion of a byte array in the map with the given name.
Specified by:
setBytes in interface javax.jms.MapMessage
Parameters:
name - the name of the byte array
value - the byte array to set in the Map
offset - the initial offset within the byte array
length - the number of bytes to use
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error.
javax.jms.MessageNotWriteableException - if the message in read-only mode.

setChar

  1. public void setChar(java.lang.String name,
  2. char value)
  3. throws javax.jms.JMSException
Sets a Unicode character with the given name in the map.
Specified by:
setChar in interface javax.jms.MapMessage
Parameters:
name - the name of the character
value - the value to set in the Map.
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error.
javax.jms.MessageNotWriteableException - if the message in read-only mode.

setDouble

  1. public void setDouble(java.lang.String name,
  2. double value)
  3. throws javax.jms.JMSException
Sets a double value with the given name in the map.
Specified by:
setDouble in interface javax.jms.MapMessage
Parameters:
name - the name of the double
value - the value to set in the Map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message is in read-only mode

setFloat

  1. public void setFloat(java.lang.String name,
  2. float value)
  3. throws javax.jms.JMSException
Sets a floating point value with the given name in the map.
Specified by:
setFloat in interface javax.jms.MapMessage
Parameters:
name - the name of the float
value - the value to set in the map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setInt

  1. public void setInt(java.lang.String name,
  2. int value)
  3. throws javax.jms.JMSException
Sets an integer value with the given name in the map.
Specified by:
setInt in interface javax.jms.MapMessage
Parameters:
name - the name of the integer
value - the value to set in the Map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setLong

  1. public void setLong(java.lang.String name,
  2. long value)
  3. throws javax.jms.JMSException
Sets a long value with the given name in the map.
Specified by:
setLong in interface javax.jms.MapMessage
Parameters:
name - the name of the long
value - the value to set in the Map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setObject

  1. public void setObject(java.lang.String name,
  2. java.lang.Object value)
  3. throws javax.jms.JMSException
Sets a Java object with the given name in the map.

This method only works for the primitive object wrapper classes (Integer, Double, Long ...), String, and byte arrays.

Specified by:
setObject in interface javax.jms.MapMessage
Parameters:
name - the name of the object
value - the value to set in the Map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setShort

  1. public void setShort(java.lang.String name,
  2. short value)
  3. throws javax.jms.JMSException
Sets a short value with the given name in the map.
Specified by:
setShort in interface javax.jms.MapMessage
Parameters:
name - the name of the short
value - the short value to set in the map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode

setString

  1. public void setString(java.lang.String name,
  2. java.lang.String value)
  3. throws javax.jms.JMSException
Sets a String value with the given name in the map.
Specified by:
setString in interface javax.jms.MapMessage
Parameters:
name - the name of the String
value - the String value to set in the Map
Throws:
javax.jms.JMSException - if JMS fails to write the message due to an internal error
javax.jms.MessageNotWriteableException - if the message in read-only mode