|
|||||||||
| Home >> All >> org >> activemq >> [ message overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
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:
getPacketTypein interfacePacket- Overrides:
getPacketTypein classActiveMQMessage
shallowCopy
public ActiveMQMessage shallowCopy() throws javax.jms.JMSException
- Overrides:
shallowCopyin classActiveMQMessage
deepCopy
public ActiveMQMessage deepCopy() throws javax.jms.JMSException
- Overrides:
deepCopyin 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:
clearBodyin interfacejavax.jms.Message- Overrides:
clearBodyin classActiveMQMessage
getBoolean
public boolean getBoolean(java.lang.String name) throws javax.jms.JMSException
- Returns the
booleanvalue with the specified name.- Specified by:
getBooleanin interfacejavax.jms.MapMessage
getByte
public byte getByte(java.lang.String name) throws javax.jms.JMSException
- Returns the
bytevalue with the specified name.- Specified by:
getBytein interfacejavax.jms.MapMessage
getShort
public short getShort(java.lang.String name) throws javax.jms.JMSException
- Returns the
shortvalue with the specified name.- Specified by:
getShortin 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:
getCharin interfacejavax.jms.MapMessage
getInt
public int getInt(java.lang.String name) throws javax.jms.JMSException
- Returns the
intvalue with the specified name.- Specified by:
getIntin interfacejavax.jms.MapMessage
getLong
public long getLong(java.lang.String name) throws javax.jms.JMSException
- Returns the
longvalue with the specified name.- Specified by:
getLongin interfacejavax.jms.MapMessage
getFloat
public float getFloat(java.lang.String name) throws javax.jms.JMSException
- Returns the
floatvalue with the specified name.- Specified by:
getFloatin interfacejavax.jms.MapMessage
getDouble
public double getDouble(java.lang.String name) throws javax.jms.JMSException
- Returns the
doublevalue with the specified name.- Specified by:
getDoublein interfacejavax.jms.MapMessage
getString
public java.lang.String getString(java.lang.String name) throws javax.jms.JMSException
- Returns the
Stringvalue with the specified name.- Specified by:
getStringin 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:
getBytesin 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
setObjectmethod call, or its equivalent primitiveset typemethod.Note that byte values are returned as
byte[], notByte[].- Specified by:
getObjectin interfacejavax.jms.MapMessage
getMapNames
public java.util.Enumeration getMapNames() throws javax.jms.JMSException
- Returns an
Enumerationof all the names in theMapMessageobject.- Specified by:
getMapNamesin 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
booleanvalue with the specified name into the Map.- Specified by:
setBooleanin interfacejavax.jms.MapMessage
setByte
public void setByte(java.lang.String name, byte value) throws javax.jms.JMSException
- Sets a
bytevalue with the specified name into the Map.- Specified by:
setBytein interfacejavax.jms.MapMessage
setShort
public void setShort(java.lang.String name, short value) throws javax.jms.JMSException
- Sets a
shortvalue with the specified name into the Map.- Specified by:
setShortin 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:
setCharin interfacejavax.jms.MapMessage
setInt
public void setInt(java.lang.String name, int value) throws javax.jms.JMSException
- Sets an
intvalue with the specified name into the Map.- Specified by:
setIntin interfacejavax.jms.MapMessage
setLong
public void setLong(java.lang.String name, long value) throws javax.jms.JMSException
- Sets a
longvalue with the specified name into the Map.- Specified by:
setLongin interfacejavax.jms.MapMessage
setFloat
public void setFloat(java.lang.String name, float value) throws javax.jms.JMSException
- Sets a
floatvalue with the specified name into the Map.- Specified by:
setFloatin interfacejavax.jms.MapMessage
setDouble
public void setDouble(java.lang.String name, double value) throws javax.jms.JMSException
- Sets a
doublevalue with the specified name into the Map.- Specified by:
setDoublein interfacejavax.jms.MapMessage
setString
public void setString(java.lang.String name, java.lang.String value) throws javax.jms.JMSException
- Sets a
Stringvalue with the specified name into the Map.- Specified by:
setStringin 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:
setBytesin 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:
setBytesin 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...),Stringobjects, and byte arrays.- Specified by:
setObjectin 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:
writeBodyin interfaceBodyPacket- Overrides:
writeBodyin 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:
readBodyin interfaceBodyPacket- Overrides:
readBodyin classActiveMQMessage
itemExists
public boolean itemExists(java.lang.String name) throws javax.jms.JMSException
- Indicates whether an item exists in this
MapMessageobject.- Specified by:
itemExistsin 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:
toStringin classActiveMQMessage
|
|||||||||
| Home >> All >> org >> activemq >> [ message overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC