Class ActiveMQMapMessage

java.lang.Object
org.apache.activemq.artemis.jms.client.ActiveMQMessage
org.apache.activemq.artemis.jms.client.ActiveMQMapMessage
All Implemented Interfaces:
MapMessage, Message
Direct Known Subclasses:
ActiveMQMapCompatibleMessage

public class ActiveMQMapMessage extends ActiveMQMessage implements MapMessage
ActiveMQ Artemis implementation of a JMS MapMessage.
  • Field Details

  • Constructor Details

    • ActiveMQMapMessage

      protected ActiveMQMapMessage(ClientSession session)
      This constructor is used to construct messages prior to sending
    • ActiveMQMapMessage

      protected ActiveMQMapMessage(ClientMessage message, ClientSession session)
      This constructor is used during reading
    • ActiveMQMapMessage

      public ActiveMQMapMessage()
    • ActiveMQMapMessage

      public ActiveMQMapMessage(MapMessage foreign, ClientSession session) throws JMSException
      Constructor for a foreign MapMessage
      Throws:
      JMSException
  • Method Details

    • getType

      public byte getType()
      Overrides:
      getType in class ActiveMQMessage
    • setBoolean

      public void setBoolean(String name, boolean value) throws JMSException
      Description copied from interface: MapMessage
      Sets a boolean value with the specified name into the Map.
      Specified by:
      setBoolean in interface MapMessage
      Parameters:
      name - the name of the boolean
      value - the boolean value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setByte

      public void setByte(String name, byte value) throws JMSException
      Description copied from interface: MapMessage
      Sets a byte value with the specified name into the Map.
      Specified by:
      setByte in interface MapMessage
      Parameters:
      name - the name of the byte
      value - the byte value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setShort

      public void setShort(String name, short value) throws JMSException
      Description copied from interface: MapMessage
      Sets a short value with the specified name into the Map.
      Specified by:
      setShort in interface MapMessage
      Parameters:
      name - the name of the short
      value - the short value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setChar

      public void setChar(String name, char value) throws JMSException
      Description copied from interface: MapMessage
      Sets a Unicode character value with the specified name into the Map.
      Specified by:
      setChar in interface MapMessage
      Parameters:
      name - the name of the Unicode character
      value - the Unicode character value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setInt

      public void setInt(String name, int value) throws JMSException
      Description copied from interface: MapMessage
      Sets an int value with the specified name into the Map.
      Specified by:
      setInt in interface MapMessage
      Parameters:
      name - the name of the int
      value - the int value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setLong

      public void setLong(String name, long value) throws JMSException
      Description copied from interface: MapMessage
      Sets a long value with the specified name into the Map.
      Specified by:
      setLong in interface MapMessage
      Parameters:
      name - the name of the long
      value - the long value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setFloat

      public void setFloat(String name, float value) throws JMSException
      Description copied from interface: MapMessage
      Sets a float value with the specified name into the Map.
      Specified by:
      setFloat in interface MapMessage
      Parameters:
      name - the name of the float
      value - the float value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setDouble

      public void setDouble(String name, double value) throws JMSException
      Description copied from interface: MapMessage
      Sets a double value with the specified name into the Map.
      Specified by:
      setDouble in interface MapMessage
      Parameters:
      name - the name of the double
      value - the double value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setString

      public void setString(String name, String value) throws JMSException
      Description copied from interface: MapMessage
      Sets a String value with the specified name into the Map.
      Specified by:
      setString in interface MapMessage
      Parameters:
      name - the name of the String
      value - the String value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setBytes

      public void setBytes(String name, byte[] value) throws JMSException
      Description copied from interface: MapMessage
      Sets a byte array value with the specified name into the Map.
      Specified by:
      setBytes in interface MapMessage
      Parameters:
      name - the name of the byte array
      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
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setBytes

      public void setBytes(String name, byte[] value, int offset, int length) throws JMSException
      Description copied from interface: MapMessage
      Sets a portion of the byte array value with the specified name into the Map.
      Specified by:
      setBytes in interface MapMessage
      Parameters:
      name - the name of the byte array
      value - the byte array value to set in the Map
      offset - the initial offset within the byte array
      length - the number of bytes to use
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageNotWriteableException - if the message is in read-only mode.
    • setObject

      public void setObject(String name, Object value) throws JMSException
      Description copied from interface: MapMessage
      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 interface MapMessage
      Parameters:
      name - the name of the Java object
      value - the Java object value to set in the Map
      Throws:
      JMSException - if the Jakarta Messaging provider fails to write the message due to some internal error.
      MessageFormatException - if the object is invalid.
      MessageNotWriteableException - if the message is in read-only mode.
    • getBoolean

      public boolean getBoolean(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the boolean value with the specified name.
      Specified by:
      getBoolean in interface MapMessage
      Parameters:
      name - the name of the boolean
      Returns:
      the boolean value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getByte

      public byte getByte(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the byte value with the specified name.
      Specified by:
      getByte in interface MapMessage
      Parameters:
      name - the name of the byte
      Returns:
      the byte value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getShort

      public short getShort(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the short value with the specified name.
      Specified by:
      getShort in interface MapMessage
      Parameters:
      name - the name of the short
      Returns:
      the short value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getChar

      public char getChar(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the Unicode character value with the specified name.
      Specified by:
      getChar in interface MapMessage
      Parameters:
      name - the name of the Unicode character
      Returns:
      the Unicode character value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getInt

      public int getInt(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the int value with the specified name.
      Specified by:
      getInt in interface MapMessage
      Parameters:
      name - the name of the int
      Returns:
      the int value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getLong

      public long getLong(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the long value with the specified name.
      Specified by:
      getLong in interface MapMessage
      Parameters:
      name - the name of the long
      Returns:
      the long value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getFloat

      public float getFloat(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the float value with the specified name.
      Specified by:
      getFloat in interface MapMessage
      Parameters:
      name - the name of the float
      Returns:
      the float value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getDouble

      public double getDouble(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the double value with the specified name.
      Specified by:
      getDouble in interface MapMessage
      Parameters:
      name - the name of the double
      Returns:
      the double value with the specified name
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getString

      public String getString(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the String value with the specified name.
      Specified by:
      getString in interface MapMessage
      Parameters:
      name - the name of the String
      Returns:
      the String value with the specified name; if there is no item by this name, a null value is returned
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getBytes

      public byte[] getBytes(String name) throws JMSException
      Description copied from interface: MapMessage
      Returns the byte array value with the specified name.
      Specified by:
      getBytes in interface MapMessage
      Parameters:
      name - the name of the byte array
      Returns:
      a copy of the byte array value with the specified name; if there is no item by this name, a null value is returned.
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
      MessageFormatException - if this type conversion is invalid.
    • getObject

      public Object getObject(String name) throws JMSException
      Description copied from interface: MapMessage
      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[].

      Specified by:
      getObject in interface MapMessage
      Parameters:
      name - the name of the Java object
      Returns:
      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
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
    • getMapNames

      public Enumeration getMapNames() throws JMSException
      Description copied from interface: MapMessage
      Returns an Enumeration of all the names in the MapMessage object.
      Specified by:
      getMapNames in interface MapMessage
      Returns:
      an enumeration of all the names in this MapMessage
      Throws:
      JMSException - if the Jakarta Messaging provider fails to read the message due to some internal error.
    • itemExists

      public boolean itemExists(String name) throws JMSException
      Description copied from interface: MapMessage
      Indicates whether an item exists in this MapMessage object.
      Specified by:
      itemExists in interface MapMessage
      Parameters:
      name - the name of the item to test
      Returns:
      true if the item exists
      Throws:
      JMSException - if the Jakarta Messaging provider fails to determine if the item exists due to some internal error.
    • clearBody

      public void clearBody() throws JMSException
      Description copied from interface: Message
      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 interface Message
      Overrides:
      clearBody in class ActiveMQMessage
      Throws:
      JMSException - if the Jakarta Messaging provider fails to clear the message body due to some internal error.
    • doBeforeSend

      public void doBeforeSend() throws Exception
      Overrides:
      doBeforeSend in class ActiveMQMessage
      Throws:
      Exception
    • doBeforeReceive

      public void doBeforeReceive() throws ActiveMQException
      Overrides:
      doBeforeReceive in class ActiveMQMessage
      Throws:
      ActiveMQException
    • hasNoBody

      protected boolean hasNoBody()
      Description copied from class: ActiveMQMessage
      Overrides:
      hasNoBody in class ActiveMQMessage
      Returns:
      true if the message has no body
    • isBodyAssignableTo

      public boolean isBodyAssignableTo(Class c)
      Description copied from class: ActiveMQMessage
      From the specs:

      If the message is a Message (but not one of its subtypes) then this method will return true irrespective of the value of this parameter.

      Specified by:
      isBodyAssignableTo in interface Message
      Overrides:
      isBodyAssignableTo in class ActiveMQMessage
      Parameters:
      c - The specified type
      If the message is a TextMessage then this method will only return true if this parameter is set to String.class or another type to which a String is assignable.
      If the message is a ObjectMessage then this method will only return true if this parameter is set to java.io.Serializable.class or another class to which the body is assignable.
      If the message is a MapMessage then this method will only return true if this parameter is set to java.util.Map.class (or java.lang.Object.class).
      If the message is a BytesMessage then this this method will only return true if this parameter is set to byte[].class (or java.lang.Object.class).
      If the message is a TextMessage, ObjectMessage, MapMessage or BytesMessage and the message has no body, then the above does not apply and this method will return true irrespective of the value of this parameter.
      If the message is a Message (but not one of its subtypes) then this method will return true irrespective of the value of this parameter.
      Returns:
      whether the message body is capable of being assigned to the specified type
    • getBodyInternal

      protected <T> T getBodyInternal(Class<T> c)
      Overrides:
      getBodyInternal in class ActiveMQMessage