Class JMSMapMessage
- java.lang.Object
-
- com.ibm.jms.JMSMessage
-
- com.ibm.jms.JMSMapMessage
-
- All Implemented Interfaces:
- JmsMessage, java.io.Serializable, javax.jms.MapMessage, javax.jms.Message
public class JMSMapMessage extends JMSMessage 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 byte[] X To create a map message please call
Session.createMapMessage(). Do not call the default constructor.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static java.lang.StringsccsidThe SCCSID which is expanded when the file is extracted from CMVC
-
Constructor Summary
Constructors Constructor and Description JMSMapMessage()Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description booleangetBoolean(java.lang.String name)Gets the boolean value of the named key.bytegetByte(java.lang.String name)Gets the byte value of the named key.byte[]getBytes(java.lang.String name)Gets the byte array value of the named key.chargetChar(java.lang.String name)Gets the Unicode char value of the named key.doublegetDouble(java.lang.String name)Gets the double value of the named key.floatgetFloat(java.lang.String name)Gets the float value of the named key.intgetInt(java.lang.String name)Gets the integer value of the named key.longgetLong(java.lang.String name)Gets the long value of the named key.java.util.Enumeration<?>getMapNames()Gets an Enumeration of all the MapMessage's names.java.lang.ObjectgetObject(java.lang.String name)Gets the Java object with the given name.shortgetShort(java.lang.String name)Gets the short value of the named key.java.lang.StringgetString(java.lang.String name)Gets the String value of the named key.booleanitemExists(java.lang.String name)Checks whether an item exists in this MapMessage.voidsetBoolean(java.lang.String name, boolean value)Sets a boolean value with the given name in the map.voidsetByte(java.lang.String name, byte value)Sets a byte value with the given name in the map.voidsetBytes(java.lang.String name, byte[] value)Sets a byte array with the given name in the map.voidsetBytes(java.lang.String name, byte[] value, int offset, int length)Sets a portion of a byte array in the map with the given name.voidsetChar(java.lang.String name, char value)Sets a Unicode character with the given name in the map.voidsetDouble(java.lang.String name, double value)Sets a double value with the given name in the map.voidsetFloat(java.lang.String name, float value)Sets a floating point value with the given name in the map.voidsetInt(java.lang.String name, int value)Sets an integer value with the given name in the map.voidsetLong(java.lang.String name, long value)Sets a long value with the given name in the map.voidsetObject(java.lang.String name, java.lang.Object value)Sets a Java object with the given name in the map.voidsetShort(java.lang.String name, short value)Sets a short value with the given name in the map.voidsetString(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, 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, setStringProperty, toString, updateFromMessage
-
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, 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, setStringProperty
-
Methods inherited from interface com.ibm.msg.client.jms.JmsMessage
getDelegate
-
-
-
-
Field Detail
-
sccsid
public static final java.lang.String sccsid
The SCCSID which is expanded when the file is extracted from CMVC- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JMSMapMessage
public JMSMapMessage()
Deprecated.To create a map message please call
Session.createMapMessage().Do not call this default constructor.
-
-
Method Detail
-
getBoolean
public boolean getBoolean(java.lang.String name) throws javax.jms.JMSExceptionGets the boolean value of the named key.- Specified by:
getBooleanin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getByte
public byte getByte(java.lang.String name) throws javax.jms.JMSExceptionGets the byte value of the named key.- Specified by:
getBytein interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getBytes
public byte[] getBytes(java.lang.String name) throws javax.jms.JMSExceptionGets the byte array value of the named key.- Specified by:
getBytesin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid.
-
getChar
public char getChar(java.lang.String name) throws javax.jms.JMSExceptionGets the Unicode char value of the named key.- Specified by:
getCharin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getDouble
public double getDouble(java.lang.String name) throws javax.jms.JMSExceptionGets the double value of the named key.- Specified by:
getDoublein interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getFloat
public float getFloat(java.lang.String name) throws javax.jms.JMSExceptionGets the float value of the named key.- Specified by:
getFloatin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getInt
public int getInt(java.lang.String name) throws javax.jms.JMSExceptionGets the integer value of the named key.- Specified by:
getIntin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getLong
public long getLong(java.lang.String name) throws javax.jms.JMSExceptionGets the long value of the named key.- Specified by:
getLongin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getMapNames
public java.util.Enumeration<?> getMapNames() throws javax.jms.JMSExceptionGets an Enumeration of all the MapMessage's names.- Specified by:
getMapNamesin interfacejavax.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
public java.lang.Object getObject(java.lang.String name) throws javax.jms.JMSExceptionGets 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:
getObjectin interfacejavax.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
public short getShort(java.lang.String name) throws javax.jms.JMSExceptionGets the short value of the named key.- Specified by:
getShortin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
getString
public java.lang.String getString(java.lang.String name) throws javax.jms.JMSExceptionGets the String value of the named key.- Specified by:
getStringin interfacejavax.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 errorjavax.jms.MessageFormatException- if this type conversion is not valid
-
itemExists
public boolean itemExists(java.lang.String name) throws javax.jms.JMSExceptionChecks whether an item exists in this MapMessage.- Specified by:
itemExistsin interfacejavax.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
public void setBoolean(java.lang.String name, boolean value) throws javax.jms.JMSExceptionSets a boolean value with the given name in the map.- Specified by:
setBooleanin interfacejavax.jms.MapMessage- Parameters:
name- the name of the booleanvalue- the boolean value to set in the map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setByte
public void setByte(java.lang.String name, byte value) throws javax.jms.JMSExceptionSets a byte value with the given name in the map.- Specified by:
setBytein interfacejavax.jms.MapMessage- Parameters:
name- the name of the bytevalue- the byte value to set in the map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setBytes
public void setBytes(java.lang.String name, byte[] value) throws javax.jms.JMSExceptionSets a byte array with the given name in the map.- Specified by:
setBytesin interfacejavax.jms.MapMessage- Parameters:
name- the name of the arrayvalue- the byte array to set in the map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setBytes
public void setBytes(java.lang.String name, byte[] value, int offset, int length) throws javax.jms.JMSExceptionSets a portion of a byte array in the map with the given name.- Specified by:
setBytesin interfacejavax.jms.MapMessage- Parameters:
name- the name of the byte arrayvalue- the byte array to set in the Mapoffset- the initial offset within the byte arraylength- 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
public void setChar(java.lang.String name, char value) throws javax.jms.JMSExceptionSets a Unicode character with the given name in the map.- Specified by:
setCharin interfacejavax.jms.MapMessage- Parameters:
name- the name of the charactervalue- 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
public void setDouble(java.lang.String name, double value) throws javax.jms.JMSExceptionSets a double value with the given name in the map.- Specified by:
setDoublein interfacejavax.jms.MapMessage- Parameters:
name- the name of the doublevalue- the value to set in the Map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message is in read-only mode
-
setFloat
public void setFloat(java.lang.String name, float value) throws javax.jms.JMSExceptionSets a floating point value with the given name in the map.- Specified by:
setFloatin interfacejavax.jms.MapMessage- Parameters:
name- the name of the floatvalue- the value to set in the map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setInt
public void setInt(java.lang.String name, int value) throws javax.jms.JMSExceptionSets an integer value with the given name in the map.- Specified by:
setIntin interfacejavax.jms.MapMessage- Parameters:
name- the name of the integervalue- the value to set in the Map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setLong
public void setLong(java.lang.String name, long value) throws javax.jms.JMSExceptionSets a long value with the given name in the map.- Specified by:
setLongin interfacejavax.jms.MapMessage- Parameters:
name- the name of the longvalue- the value to set in the Map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setObject
public void setObject(java.lang.String name, java.lang.Object value) throws javax.jms.JMSExceptionSets 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:
setObjectin interfacejavax.jms.MapMessage- Parameters:
name- the name of the objectvalue- the value to set in the Map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setShort
public void setShort(java.lang.String name, short value) throws javax.jms.JMSExceptionSets a short value with the given name in the map.- Specified by:
setShortin interfacejavax.jms.MapMessage- Parameters:
name- the name of the shortvalue- the short value to set in the map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
setString
public void setString(java.lang.String name, java.lang.String value) throws javax.jms.JMSExceptionSets a String value with the given name in the map.- Specified by:
setStringin interfacejavax.jms.MapMessage- Parameters:
name- the name of the Stringvalue- the String value to set in the Map- Throws:
javax.jms.JMSException- if JMS fails to write the message due to an internal errorjavax.jms.MessageNotWriteableException- if the message in read-only mode
-
-