com.ibm.jms
Class JMSMapMessage
- java.lang.Object
- com.ibm.jms.JMSMessage
- com.ibm.jms.JMSMapMessage
- 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 X byte[] X --------------------------------------------------------------------------
To create a map message please call Session.createMapMessage()
. Do not call the default constructor.
Field Summary
Modifier and Type | Field and Description |
---|---|
|
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 |
---|---|
|
getBoolean(java.lang.String name)
Gets the boolean value of the named key.
|
|
getByte(java.lang.String name)
Gets the byte value of the named key.
|
|
getBytes(java.lang.String name)
Gets the byte array value of the named key.
|
|
getChar(java.lang.String name)
Gets the Unicode char value of the named key.
|
|
getDouble(java.lang.String name)
Gets the double value of the named key.
|
|
getFloat(java.lang.String name)
Gets the float value of the named key.
|
|
getInt(java.lang.String name)
Gets the integer value of the named key.
|
|
getLong(java.lang.String name)
Gets the long value of the named key.
|
|
getMapNames()
Gets an Enumeration of all the MapMessage's names.
|
|
getObject(java.lang.String name)
Gets the Java object with the given name.
|
|
getShort(java.lang.String name)
Gets the short value of the named key.
|
|
getString(java.lang.String name)
Gets the String value of the named key.
|
|
itemExists(java.lang.String name)
Checks whether an item exists in this MapMessage.
|
|
setBoolean(java.lang.String name,boolean value)
Sets a boolean value with the given name in the map.
|
|
setByte(java.lang.String name,byte value)
Sets a byte value with the given name in the map.
|
|
setBytes(java.lang.String name,byte[] value)
Sets a byte array with the given name in the map.
|
|
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.
|
|
setChar(java.lang.String name,char value)
Sets a Unicode character with the given name in the map.
|
|
setDouble(java.lang.String name,double value)
Sets a double value with the given name in the map.
|
|
setFloat(java.lang.String name,float value)
Sets a floating point value with the given name in the map.
|
|
setInt(java.lang.String name,int value)
Sets an integer value with the given name in the map.
|
|
setLong(java.lang.String name,long value)
Sets a long value with the given name in the map.
|
|
setObject(java.lang.String name,java.lang.Object value)
Sets a Java object with the given name in the map.
|
|
setShort(java.lang.String name,short value)
Sets a short value with the given name in the map.
|
|
setString(java.lang.String name,java.lang.String value)
Sets a String value with the given name in the map.
|
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
- public static final java.lang.String sccsid
Constructor Detail
JMSMapMessage
- @Deprecated public JMSMapMessage( )
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.JMSException
getBoolean
in interface javax.jms.MapMessage
name
- the name of the key 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
- public byte getByte(java.lang.String name)
- throws javax.jms.JMSException
getByte
in interface javax.jms.MapMessage
name
- the name of the key 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
- public byte[] getBytes(java.lang.String name)
- throws javax.jms.JMSException
getBytes
in interface javax.jms.MapMessage
name
- the name of the key 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
- public char getChar(java.lang.String name)
- throws javax.jms.JMSException
getChar
in interface javax.jms.MapMessage
name
- the name of the key 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
- public double getDouble(java.lang.String name)
- throws javax.jms.JMSException
getDouble
in interface javax.jms.MapMessage
name
- the name of the key 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
- public float getFloat(java.lang.String name)
- throws javax.jms.JMSException
getFloat
in interface javax.jms.MapMessage
name
- the name of the key 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
- public int getInt(java.lang.String name)
- throws javax.jms.JMSException
getInt
in interface javax.jms.MapMessage
name
- the name of the key 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
- public long getLong(java.lang.String name)
- throws javax.jms.JMSException
getLong
in interface javax.jms.MapMessage
name
- the name of the key 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
- public java.util.Enumeration<?> getMapNames( )
- throws javax.jms.JMSException
getMapNames
in interface javax.jms.MapMessage
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.JMSException
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.
getObject
in interface javax.jms.MapMessage
name
- the name of the Java object 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.JMSException
getShort
in interface javax.jms.MapMessage
name
- the name of the key 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
- public java.lang.String getString( java.lang.String name)
- throws javax.jms.JMSException
getString
in interface javax.jms.MapMessage
name
- the name of the key 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
- public boolean itemExists(java.lang.String name)
- throws javax.jms.JMSException
itemExists
in interface javax.jms.MapMessage
name
- the name of the item to test javax.jms.JMSException
- if a JMS error occurs setBoolean
- public void setBoolean(java.lang.String name,
- boolean value)
- throws javax.jms.JMSException
setBoolean
in interface javax.jms.MapMessage
name
- the name of the boolean value
- the boolean value to set in the map 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
- public void setByte(java.lang.String name,
- byte value)
- throws javax.jms.JMSException
setByte
in interface javax.jms.MapMessage
name
- the name of the byte value
- the byte value to set in the map 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
- public void setBytes(java.lang.String name,
- byte[] value)
- throws javax.jms.JMSException
setBytes
in interface javax.jms.MapMessage
name
- the name of the array value
- the byte array to set in the map 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
- public void setBytes(java.lang.String name,
- byte[] value,
- int offset,
- int length)
- throws javax.jms.JMSException
setBytes
in interface javax.jms.MapMessage
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 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.JMSException
setChar
in interface javax.jms.MapMessage
name
- the name of the character value
- the value to set in the Map. 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.JMSException
setDouble
in interface javax.jms.MapMessage
name
- the name of the double value
- the value to set in the Map 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
- public void setFloat(java.lang.String name,
- float value)
- throws javax.jms.JMSException
setFloat
in interface javax.jms.MapMessage
name
- the name of the float value
- the value to set in the map 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
- public void setInt(java.lang.String name,
- int value)
- throws javax.jms.JMSException
setInt
in interface javax.jms.MapMessage
name
- the name of the integer value
- the value to set in the Map 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
- public void setLong(java.lang.String name,
- long value)
- throws javax.jms.JMSException
setLong
in interface javax.jms.MapMessage
name
- the name of the long value
- the value to set in the Map 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
- public void setObject(java.lang.String name,
- java.lang.Object value)
- throws javax.jms.JMSException
This method only works for the primitive object wrapper classes (Integer, Double, Long ...), String, and byte arrays.
setObject
in interface javax.jms.MapMessage
name
- the name of the object value
- the value to set in the Map 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
- public void setShort(java.lang.String name,
- short value)
- throws javax.jms.JMSException
setShort
in interface javax.jms.MapMessage
name
- the name of the short value
- the short value to set in the map 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
- public void setString(java.lang.String name,
- java.lang.String value)
- throws javax.jms.JMSException
setString
in interface javax.jms.MapMessage
name
- the name of the String value
- the String value to set in the Map 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