FileDocCategorySizeDatePackage
MapMessage.javaAPI DocGlassfish v2 API21649Fri May 04 22:36:16 BST 2007javax.jms

MapMessage

public interface MapMessage implements Message
A 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.

version
1.1 February 2, 002
author
Mark Hapner
author
Rich Burridge
see
javax.jms.Session#createMapMessage()
see
javax.jms.BytesMessage
see
javax.jms.Message
see
javax.jms.ObjectMessage
see
javax.jms.StreamMessage
see
javax.jms.TextMessage

Fields Summary
Constructors Summary
Methods Summary
public booleangetBoolean(java.lang.String name)
Returns the boolean value with the specified name.

param
name the name of the boolean
return
the boolean value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public bytegetByte(java.lang.String name)
Returns the byte value with the specified name.

param
name the name of the byte
return
the byte value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public byte[]getBytes(java.lang.String name)
Returns the byte array value with the specified name.

param
name the name of the byte array
return
a copy of the byte array value with the specified name; if there is no item by this name, a null value is returned.
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public chargetChar(java.lang.String name)
Returns the Unicode character value with the specified name.

param
name the name of the Unicode character
return
the Unicode character value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public doublegetDouble(java.lang.String name)
Returns the double value with the specified name.

param
name the name of the double
return
the double value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public floatgetFloat(java.lang.String name)
Returns the float value with the specified name.

param
name the name of the float
return
the float value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public intgetInt(java.lang.String name)
Returns the int value with the specified name.

param
name the name of the int
return
the int value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public longgetLong(java.lang.String name)
Returns the long value with the specified name.

param
name the name of the long
return
the long value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public java.util.EnumerationgetMapNames()
Returns an Enumeration of all the names in the MapMessage object.

return
an enumeration of all the names in this MapMessage
exception
JMSException if the JMS provider fails to read the message due to some internal error.

public java.lang.ObjectgetObject(java.lang.String name)
Returns the value of the object with the specified name.

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[].

param
name the name of the Java object
return
a copy of the Java object value with the specified name, in objectified format (for example, if the object was set as an int, an Integer is returned); if there is no item by this name, a null value is returned
exception
JMSException if the JMS provider fails to read the message due to some internal error.

public shortgetShort(java.lang.String name)
Returns the short value with the specified name.

param
name the name of the short
return
the short value with the specified name
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public java.lang.StringgetString(java.lang.String name)
Returns the String value with the specified name.

param
name the name of the String
return
the String value with the specified name; if there is no item by this name, a null value is returned
exception
JMSException if the JMS provider fails to read the message due to some internal error.
exception
MessageFormatException if this type conversion is invalid.

public booleanitemExists(java.lang.String name)
Indicates whether an item exists in this MapMessage object.

param
name the name of the item to test
return
true if the item exists
exception
JMSException if the JMS provider fails to determine if the item exists due to some internal error.

public voidsetBoolean(java.lang.String name, boolean value)
Sets a boolean value with the specified name into the Map.

param
name the name of the boolean
param
value the boolean value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetByte(java.lang.String name, byte value)
Sets a byte value with the specified name into the Map.

param
name the name of the byte
param
value the byte value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetBytes(java.lang.String name, byte[] value)
Sets a byte array value with the specified name into the Map.

param
name the name of the byte array
param
value 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 modifications
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
NullPointerException if the name is null, or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetBytes(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.

param
name the name of the byte array
param
value the byte array value to set in the Map
param
offset the initial offset within the byte array
param
length the number of bytes to use
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetChar(java.lang.String name, char value)
Sets a Unicode character value with the specified name into the Map.

param
name the name of the Unicode character
param
value the Unicode character value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetDouble(java.lang.String name, double value)
Sets a double value with the specified name into the Map.

param
name the name of the double
param
value the double value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetFloat(java.lang.String name, float value)
Sets a float value with the specified name into the Map.

param
name the name of the float
param
value the float value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetInt(java.lang.String name, int value)
Sets an int value with the specified name into the Map.

param
name the name of the int
param
value the int value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetLong(java.lang.String name, long value)
Sets a long value with the specified name into the Map.

param
name the name of the long
param
value the long value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetObject(java.lang.String name, java.lang.Object value)
Sets an object value with the specified name into the Map.

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

param
name the name of the Java object
param
value the Java object value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageFormatException if the object is invalid.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetShort(java.lang.String name, short value)
Sets a short value with the specified name into the Map.

param
name the name of the short
param
value the short value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.

public voidsetString(java.lang.String name, java.lang.String value)
Sets a String value with the specified name into the Map.

param
name the name of the String
param
value the String value to set in the Map
exception
JMSException if the JMS provider fails to write the message due to some internal error.
exception
IllegalArgumentException if the name is null or if the name is an empty string.
exception
MessageNotWriteableException if the message is in read-only mode.