|
|||||||||
Home >> All >> org >> activemq >> [ message overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
org.activemq.message
Class ActiveMQMapMessage

java.lang.Objectorg.activemq.message.AbstractPacket
org.activemq.message.ActiveMQMessage
org.activemq.message.ActiveMQMapMessage
- All Implemented Interfaces:
- BodyPacket, java.lang.Comparable, javax.jms.MapMessage, org.activemq.io.util.MemoryManageable, javax.jms.Message, Packet
- public class ActiveMQMapMessage
- extends ActiveMQMessage
- implements javax.jms.MapMessage
- extends ActiveMQMessage
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
.
Field Summary | |
private java.util.Map |
theTable
|
Fields inherited from class org.activemq.message.ActiveMQMessage |
BOOLEAN, BROKER_NAME_INDEX, BYTE, BYTES, CACHED_DESTINATION_INDEX, CACHED_VALUES_INDEX, CHAR, CID_INDEX, CLUSTER_NAME_INDEX, CORRELATION_INDEX, DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE, DISPATCHED_FROM_DLQ_INDEX, DOUBLE, EOF, EXPIRATION_INDEX, EXTERNAL_MESSAGE_ID_INDEX, FLOAT, INT, LONG, LONG_SEQUENCE_INDEX, MESSAGE_PART_INDEX, NULL, PAYLOAD_INDEX, PROPERTIES_INDEX, readOnlyMessage, REDELIVERED_INDEX, REPLY_TO_INDEX, SHORT, STRING, TIMESTAMP_INDEX, TRANSACTION_ID_INDEX, TYPE_INDEX, XA_TRANS_INDEX |
Fields inherited from class org.activemq.message.AbstractPacket |
bitArray, BROKERS_VISITED_INDEX, cachedHashCode, RECEIPT_REQUIRED_INDEX |
Fields inherited from interface javax.jms.Message |
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE |
Constructor Summary | |
ActiveMQMapMessage()
|
Method Summary | |
void |
clearBody()
Clears out the message body. |
ActiveMQMessage |
deepCopy()
|
boolean |
getBoolean(java.lang.String name)
Returns the boolean value with the specified name. |
byte |
getByte(java.lang.String name)
Returns the byte value with the specified name. |
byte[] |
getBytes(java.lang.String name)
Returns the byte array value with the specified name. |
char |
getChar(java.lang.String name)
Returns the Unicode character value with the specified name. |
double |
getDouble(java.lang.String name)
Returns the double value with the specified name. |
float |
getFloat(java.lang.String name)
Returns the float value with the specified name. |
int |
getInt(java.lang.String name)
Returns the int value with the specified name. |
long |
getLong(java.lang.String name)
Returns the long value with the specified name. |
java.util.Enumeration |
getMapNames()
Returns an Enumeration of all the names in the MapMessage object. |
java.lang.Object |
getObject(java.lang.String name)
Returns the value of the object with the specified name. |
int |
getPacketType()
Return the type of Packet |
short |
getShort(java.lang.String name)
Returns the short value with the specified name. |
java.lang.String |
getString(java.lang.String name)
Returns the String value with the specified name. |
java.util.Map |
getTable()
|
private void |
initializeWriting()
|
boolean |
itemExists(java.lang.String name)
Indicates whether an item exists in this MapMessage object. |
protected void |
put(java.lang.String name,
java.lang.Object value)
|
void |
readBody(java.io.DataInput dataIn)
Used to help build the body from an input stream |
void |
setBoolean(java.lang.String name,
boolean value)
Sets a boolean value with the specified name into the Map. |
void |
setByte(java.lang.String name,
byte value)
Sets a byte value with the specified name into the Map. |
void |
setBytes(java.lang.String name,
byte[] value)
Sets a byte array value with the specified name into the Map. |
void |
setBytes(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. |
void |
setChar(java.lang.String name,
char value)
Sets a Unicode character value with the specified name into the Map. |
void |
setDouble(java.lang.String name,
double value)
Sets a double value with the specified name into the Map. |
void |
setFloat(java.lang.String name,
float value)
Sets a float value with the specified name into the Map. |
void |
setInt(java.lang.String name,
int value)
Sets an int value with the specified name into the Map. |
void |
setLong(java.lang.String name,
long value)
Sets a long value with the specified name into the Map. |
void |
setObject(java.lang.String name,
java.lang.Object value)
Sets an object value with the specified name into the Map. |
void |
setShort(java.lang.String name,
short value)
Sets a short value with the specified name into the Map. |
void |
setString(java.lang.String name,
java.lang.String value)
Sets a String value with the specified name into the Map. |
void |
setTable(java.util.Map newTable)
set the table body |
ActiveMQMessage |
shallowCopy()
|
java.lang.String |
toString()
Convert this Object to a human-readable String. |
void |
writeBody(java.io.DataOutput dataOut)
Used serialize the message body to an output stream |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.activemq.io.util.MemoryManageable |
decrementMemoryReferenceCount, getMemoryUsage, getMemoryUsageReferenceCount, incrementMemoryReferenceCount |
Field Detail |
theTable
private java.util.Map theTable
Constructor Detail |
ActiveMQMapMessage
public ActiveMQMapMessage()
Method Detail |
getPacketType
public int getPacketType()
- Return the type of Packet
- Specified by:
getPacketType
in interfacePacket
- Overrides:
getPacketType
in classActiveMQMessage
shallowCopy
public ActiveMQMessage shallowCopy() throws javax.jms.JMSException
- Overrides:
shallowCopy
in classActiveMQMessage
deepCopy
public ActiveMQMessage deepCopy() throws javax.jms.JMSException
- Overrides:
deepCopy
in classActiveMQMessage
setTable
public void setTable(java.util.Map newTable)
- set the table body
getTable
public java.util.Map getTable() throws javax.jms.JMSException
clearBody
public void clearBody() throws javax.jms.JMSException
- Clears out the message body. Clearing a message's body does not clear its header values or property entries.
If this message body was read-only, calling this method leaves the message body in the same state as an empty body in a newly created message.
- Specified by:
clearBody
in interfacejavax.jms.Message
- Overrides:
clearBody
in classActiveMQMessage
getBoolean
public boolean getBoolean(java.lang.String name) throws javax.jms.JMSException
- Returns the
boolean
value with the specified name.- Specified by:
getBoolean
in interfacejavax.jms.MapMessage
getByte
public byte getByte(java.lang.String name) throws javax.jms.JMSException
- Returns the
byte
value with the specified name.- Specified by:
getByte
in interfacejavax.jms.MapMessage
getShort
public short getShort(java.lang.String name) throws javax.jms.JMSException
- Returns the
short
value with the specified name.- Specified by:
getShort
in interfacejavax.jms.MapMessage
getChar
public char getChar(java.lang.String name) throws javax.jms.JMSException
- Returns the Unicode character value with the specified name.
- Specified by:
getChar
in interfacejavax.jms.MapMessage
getInt
public int getInt(java.lang.String name) throws javax.jms.JMSException
- Returns the
int
value with the specified name.- Specified by:
getInt
in interfacejavax.jms.MapMessage
getLong
public long getLong(java.lang.String name) throws javax.jms.JMSException
- Returns the
long
value with the specified name.- Specified by:
getLong
in interfacejavax.jms.MapMessage
getFloat
public float getFloat(java.lang.String name) throws javax.jms.JMSException
- Returns the
float
value with the specified name.- Specified by:
getFloat
in interfacejavax.jms.MapMessage
getDouble
public double getDouble(java.lang.String name) throws javax.jms.JMSException
- Returns the
double
value with the specified name.- Specified by:
getDouble
in interfacejavax.jms.MapMessage
getString
public java.lang.String getString(java.lang.String name) throws javax.jms.JMSException
- Returns the
String
value with the specified name.- Specified by:
getString
in interfacejavax.jms.MapMessage
getBytes
public byte[] getBytes(java.lang.String name) throws javax.jms.JMSException
- Returns the byte array value with the specified name.
- Specified by:
getBytes
in interfacejavax.jms.MapMessage
getObject
public java.lang.Object getObject(java.lang.String name) throws javax.jms.JMSException
- 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 primitiveset type
method.Note that byte values are returned as
byte[]
, notByte[]
.- Specified by:
getObject
in interfacejavax.jms.MapMessage
getMapNames
public java.util.Enumeration getMapNames() throws javax.jms.JMSException
- Returns an
Enumeration
of all the names in theMapMessage
object.- Specified by:
getMapNames
in interfacejavax.jms.MapMessage
put
protected void put(java.lang.String name, java.lang.Object value) throws javax.jms.JMSException
setBoolean
public void setBoolean(java.lang.String name, boolean value) throws javax.jms.JMSException
- Sets a
boolean
value with the specified name into the Map.- Specified by:
setBoolean
in interfacejavax.jms.MapMessage
setByte
public void setByte(java.lang.String name, byte value) throws javax.jms.JMSException
- Sets a
byte
value with the specified name into the Map.- Specified by:
setByte
in interfacejavax.jms.MapMessage
setShort
public void setShort(java.lang.String name, short value) throws javax.jms.JMSException
- Sets a
short
value with the specified name into the Map.- Specified by:
setShort
in interfacejavax.jms.MapMessage
setChar
public void setChar(java.lang.String name, char value) throws javax.jms.JMSException
- Sets a Unicode character value with the specified name into the Map.
- Specified by:
setChar
in interfacejavax.jms.MapMessage
setInt
public void setInt(java.lang.String name, int value) throws javax.jms.JMSException
- Sets an
int
value with the specified name into the Map.- Specified by:
setInt
in interfacejavax.jms.MapMessage
setLong
public void setLong(java.lang.String name, long value) throws javax.jms.JMSException
- Sets a
long
value with the specified name into the Map.- Specified by:
setLong
in interfacejavax.jms.MapMessage
setFloat
public void setFloat(java.lang.String name, float value) throws javax.jms.JMSException
- Sets a
float
value with the specified name into the Map.- Specified by:
setFloat
in interfacejavax.jms.MapMessage
setDouble
public void setDouble(java.lang.String name, double value) throws javax.jms.JMSException
- Sets a
double
value with the specified name into the Map.- Specified by:
setDouble
in interfacejavax.jms.MapMessage
setString
public void setString(java.lang.String name, java.lang.String value) throws javax.jms.JMSException
- Sets a
String
value with the specified name into the Map.- Specified by:
setString
in interfacejavax.jms.MapMessage
setBytes
public void setBytes(java.lang.String name, byte[] value) throws javax.jms.JMSException
- Sets a byte array value with the specified name into the Map.
- Specified by:
setBytes
in interfacejavax.jms.MapMessage
setBytes
public void setBytes(java.lang.String name, byte[] value, int offset, int length) throws javax.jms.JMSException
- Sets a portion of the byte array value with the specified name into the Map.
- Specified by:
setBytes
in interfacejavax.jms.MapMessage
setObject
public void setObject(java.lang.String name, java.lang.Object value) throws javax.jms.JMSException
- 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.- Specified by:
setObject
in interfacejavax.jms.MapMessage
writeBody
public void writeBody(java.io.DataOutput dataOut) throws java.io.IOException
- Description copied from class:
ActiveMQMessage
- Used serialize the message body to an output stream
- Specified by:
writeBody
in interfaceBodyPacket
- Overrides:
writeBody
in classActiveMQMessage
readBody
public void readBody(java.io.DataInput dataIn) throws java.io.IOException
- Description copied from class:
ActiveMQMessage
- Used to help build the body from an input stream
- Specified by:
readBody
in interfaceBodyPacket
- Overrides:
readBody
in classActiveMQMessage
itemExists
public boolean itemExists(java.lang.String name) throws javax.jms.JMSException
- Indicates whether an item exists in this
MapMessage
object.- Specified by:
itemExists
in interfacejavax.jms.MapMessage
initializeWriting
private void initializeWriting() throws javax.jms.MessageNotWriteableException
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null
, string concatenation will instead use"null"
.The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode())
.- Overrides:
toString
in classActiveMQMessage
|
|||||||||
Home >> All >> org >> activemq >> [ message overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |