JMSMapMessage

public class JMSMapMessage
extends JMSMessage
implements MapMessage
java.lang.Object
   |
   +----com.ibm.jms.JMSMessage
           |
           +----com.ibm.jms.JMSMapMessage
          

JMSMapMessage is used to send a set of name-value pairs where names are Strings and values are Java primitive types. 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 primitives 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
 --------------------------------------------------------------------------
 

Methods

clearBody

public void clearBody() throws JMSException;

Clears the message body. All other parts of the message are left untouched.

Exceptions

getBoolean

public boolean getBoolean(String name) throws JMSException;

Gets the boolean value of the named key.

Parameters
Returns
Exceptions

getByte

public byte getByte(String name) throws JMSException;

Gets the byte value of the named key.

Parameters
Returns
Exceptions

getBytes

public byte[] getBytes(String name) throws JMSException;

Gets the byte array value of the named key.

Parameters
Returns
Exceptions

getChar

public char getChar(String name) throws JMSException;

Gets the Unicode char value of the named key.

Parameters
Returns
Exceptions

getDouble

public double getDouble(String name) throws JMSException;

Gets the double value of the named key.

Parameters
Returns
Exceptions

getFloat

public float getFloat(String name) throws JMSException;

Gets the float value of the named key.

Parameters
Returns
Exceptions

getInt

public int getInt(String name) throws JMSException;

Gets the integer value of the named key.

Parameters
Returns
Exceptions

getLong

public long getLong(String name) throws JMSException;

Gets the long value of the named key.

Parameters
Returns
Exceptions

getMapNames

public Enumeration getMapNames() throws JMSException;

Gets an Enumeration of all the MapMessage's names.

Returns
Exceptions

getObject

public Object getObject(String name) throws 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.

Parameters
Returns
Exceptions

getShort

public short getShort(String name) throws JMSException;

Gets the short value of the named key.

Parameters
Returns
Exceptions

getString

public String getString(String name) throws JMSException;

Gets the String value of the named key.

Parameters
Returns
Exceptions

itemExists

public boolean itemExists(String name) throws JMSException;

Checks whether an item exists in this MapMessage.

Parameters
Returns
Exceptions

setBoolean

public void setBoolean(String name, boolean value) throws JMSException;

Sets a boolean value with the given name in the map.

Parameters
Exceptions

setByte

public void setByte(String name, byte value) throws JMSException;

Sets a byte value with the given name in the map.

Parameters
Exceptions

setBytes

public void setBytes(String name, byte[] value) throws JMSException;

Sets a byte array with the given name in the map.

Parameters
Exceptions

setBytes

public void setBytes(String name, byte[] value, int offset, int length) 
              throws JMSException;

Sets a portion of a byte array in the map with the given name.

Parameters
Exceptions

setChar

public void setChar(String name, char value) throws JMSException;

Sets a Unicode character with the given name in the map.

Parameters
Exceptions

setDouble

public void setDouble(String name, double value) throws JMSException;

Sets a double value with the given name in the map.

Parameters
Exceptions

setFloat

public void setFloat(String name, float value) throws JMSException;

Sets a floating point variable with the given name in the map.

Parameters
Exceptions

setInt

public void setInt(String name, int value) throws JMSException;

Sets an integer with the given name in the map.

Parameters
Exceptions

setLong

public void setLong(String name, long value) throws JMSException;

Sets a long with the given name in the map.

Parameters
Exceptions

setObject

public void setObject(String name, Object value) throws JMSException;

Sets a Java object with the given name in the map.

This method only works for the 'objectified' primitive object types (Integer, Double, Long...), String, and byte arrays.

Parameters
Exceptions

setShort

public void setShort(String name, short value) throws JMSException;

Sets a short value with the given name in the map.

Parameters
Exceptions

setString

public void setString(String name, String value) throws JMSException;

Sets a String value with the given name in the map.

Parameters
Exceptions

toString

public String toString();

Creates a String which contains a formatted version of the Message.

Returns