Home » activemq-parent-5.3.1-source-release » org.apache » activemq » command » [javadoc | source]
org.apache.activemq.command
public class: ActiveMQMapMessage [javadoc | source]
java.lang.Object
   org.apache.activemq.command.BaseCommand
      org.apache.activemq.command.Message
         org.apache.activemq.command.ActiveMQMessage
            org.apache.activemq.command.ActiveMQMapMessage

All Implemented Interfaces:
    javax.jms.MapMessage, Message, MarshallAware, MessageReference, Command

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 |----------------------------------------------------------------------
<p/>

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
public static final  byte DATA_STRUCTURE_TYPE     
protected transient  Map<String, Object> map     
Fields inherited from org.apache.activemq.command.ActiveMQMessage:
DATA_STRUCTURE_TYPE,  acknowledgeCallback
Fields inherited from org.apache.activemq.command.Message:
DEFAULT_MINIMUM_MESSAGE_SIZE,  messageId,  originalDestination,  originalTransactionId,  producerId,  destination,  transactionId,  expiration,  timestamp,  arrival,  brokerInTime,  brokerOutTime,  correlationId,  replyTo,  persistent,  type,  priority,  groupID,  groupSequence,  targetConsumerId,  compressed,  userID,  content,  marshalledProperties,  dataStructure,  redeliveryCounter,  size,  properties,  readOnlyProperties,  readOnlyBody,  recievedByDFBridge,  droppable
Fields inherited from org.apache.activemq.command.BaseCommand:
commandId,  responseRequired
Method from org.apache.activemq.command.ActiveMQMapMessage Summary:
beforeMarshall,   clearBody,   copy,   getBoolean,   getByte,   getBytes,   getChar,   getContentMap,   getDataStructureType,   getDouble,   getFloat,   getInt,   getJMSXMimeType,   getLong,   getMapNames,   getObject,   getShort,   getString,   itemExists,   put,   setBoolean,   setByte,   setBytes,   setBytes,   setChar,   setDouble,   setFloat,   setInt,   setLong,   setObject,   setShort,   setString,   toString
Methods from org.apache.activemq.command.ActiveMQMessage:
acknowledge,   checkReadOnlyBody,   checkValidObject,   clearBody,   clearProperties,   copy,   copy,   decodeString,   encodeString,   equals,   getAcknowledgeCallback,   getBooleanProperty,   getByteProperty,   getDataStructureType,   getDoubleProperty,   getFloatProperty,   getIntProperty,   getJMSCorrelationID,   getJMSCorrelationIDAsBytes,   getJMSDeliveryMode,   getJMSDestination,   getJMSExpiration,   getJMSMessageID,   getJMSPriority,   getJMSRedelivered,   getJMSReplyTo,   getJMSTimestamp,   getJMSType,   getJMSXMimeType,   getLongProperty,   getObjectProperty,   getPropertyNames,   getShortProperty,   getStringProperty,   hashCode,   onSend,   propertyExists,   setAcknowledgeCallback,   setBooleanProperty,   setBooleanProperty,   setByteProperty,   setDoubleProperty,   setFloatProperty,   setIntProperty,   setJMSCorrelationID,   setJMSCorrelationIDAsBytes,   setJMSDeliveryMode,   setJMSDestination,   setJMSExpiration,   setJMSMessageID,   setJMSMessageID,   setJMSPriority,   setJMSRedelivered,   setJMSReplyTo,   setJMSTimestamp,   setJMSType,   setLongProperty,   setObjectProperty,   setObjectProperty,   setProperties,   setShortProperty,   setStringProperty,   visit
Methods from org.apache.activemq.command.Message:
afterMarshall,   afterUnmarshall,   beforeMarshall,   beforeUnmarshall,   clearBody,   clearProperties,   copy,   copy,   decrementReferenceCount,   getArrival,   getBrokerInTime,   getBrokerOutTime,   getBrokerPath,   getCluster,   getConnection,   getContent,   getCorrelationId,   getDataStructure,   getDestination,   getExpiration,   getGroupID,   getGroupSequence,   getMarshalledProperties,   getMemoryUsage,   getMessage,   getMessageHardRef,   getMessageId,   getMinimumMessageSize,   getOriginalDestination,   getOriginalTransactionId,   getPriority,   getProducerId,   getProperties,   getProperty,   getRedeliveryCounter,   getReferenceCount,   getRegionDestination,   getReplyTo,   getSize,   getTargetConsumerId,   getTimestamp,   getTransactionId,   getType,   getUserID,   incrementRedeliveryCounter,   incrementReferenceCount,   isAdvisory,   isCompressed,   isDroppable,   isDropped,   isExpired,   isInTransaction,   isMarshallAware,   isMessage,   isPersistent,   isReadOnlyBody,   isReadOnlyProperties,   isRecievedByDFBridge,   isRedelivered,   lazyCreateProperties,   onMessageRolledBack,   setArrival,   setBrokerInTime,   setBrokerOutTime,   setBrokerPath,   setCluster,   setCompressed,   setConnection,   setContent,   setCorrelationId,   setDataStructure,   setDestination,   setDroppable,   setExpiration,   setGroupID,   setGroupSequence,   setMarshalledProperties,   setMemoryUsage,   setMessageId,   setOriginalDestination,   setOriginalTransactionId,   setPersistent,   setPriority,   setProducerId,   setProperty,   setReadOnlyBody,   setReadOnlyProperties,   setRecievedByDFBridge,   setRedelivered,   setRedeliveryCounter,   setRegionDestination,   setReplyTo,   setTargetConsumerId,   setTimestamp,   setTransactionId,   setType,   setUserID,   toString,   toString
Methods from org.apache.activemq.command.BaseCommand:
copy,   getCommandId,   getFrom,   getTo,   isBrokerInfo,   isMarshallAware,   isMessage,   isMessageAck,   isMessageDispatch,   isMessageDispatchNotification,   isResponse,   isResponseRequired,   isShutdownInfo,   isWireFormatInfo,   setCommandId,   setFrom,   setResponseRequired,   setTo,   toString,   toString
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.activemq.command.ActiveMQMapMessage Detail:
 public  void beforeMarshall(WireFormat wireFormat) throws IOException 
 public  void clearBody() throws 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.

 public Message copy() 
 public boolean getBoolean(String name) throws JMSException 
    Returns the boolean value with the specified name.
 public byte getByte(String name) throws JMSException 
    Returns the byte value with the specified name.
 public byte[] getBytes(String name) throws JMSException 
    Returns the byte array value with the specified name.
 public char getChar(String name) throws JMSException 
    Returns the Unicode character value with the specified name.
 public Map<String, Object> getContentMap() throws JMSException 
 public byte getDataStructureType() 
 public double getDouble(String name) throws JMSException 
    Returns the double value with the specified name.
 public float getFloat(String name) throws JMSException 
    Returns the float value with the specified name.
 public int getInt(String name) throws JMSException 
    Returns the int value with the specified name.
 public String getJMSXMimeType() 
 public long getLong(String name) throws JMSException 
    Returns the long value with the specified name.
 public Enumeration<String> getMapNames() throws JMSException 
    Returns an Enumeration of all the names in the MapMessage object.
 public Object getObject(String name) throws 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 primitive set type method.

    Note that byte values are returned as byte[], not Byte[].

 public short getShort(String name) throws JMSException 
    Returns the short value with the specified name.
 public String getString(String name) throws JMSException 
    Returns the String value with the specified name.
 public boolean itemExists(String name) throws JMSException 
    Indicates whether an item exists in this MapMessage object.
 protected  void put(String name,
    Object value) throws JMSException 
 public  void setBoolean(String name,
    boolean value) throws JMSException 
    Sets a boolean value with the specified name into the Map.
 public  void setByte(String name,
    byte value) throws JMSException 
    Sets a byte value with the specified name into the Map.
 public  void setBytes(String name,
    byte[] value) throws JMSException 
    Sets a byte array value with the specified name into the Map.
 public  void setBytes(String name,
    byte[] value,
    int offset,
    int length) throws JMSException 
    Sets a portion of the byte array value with the specified name into the Map.
 public  void setChar(String name,
    char value) throws JMSException 
    Sets a Unicode character value with the specified name into the Map.
 public  void setDouble(String name,
    double value) throws JMSException 
    Sets a double value with the specified name into the Map.
 public  void setFloat(String name,
    float value) throws JMSException 
    Sets a float value with the specified name into the Map.
 public  void setInt(String name,
    int value) throws JMSException 
    Sets an int value with the specified name into the Map.
 public  void setLong(String name,
    long value) throws JMSException 
    Sets a long value with the specified name into the Map.
 public  void setObject(String name,
    Object value) throws 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.

 public  void setShort(String name,
    short value) throws JMSException 
    Sets a short value with the specified name into the Map.
 public  void setString(String name,
    String value) throws JMSException 
    Sets a String value with the specified name into the Map.
 public String toString()