Class AmqpJmsMessagePropertyIntercepter


  • public class AmqpJmsMessagePropertyIntercepter
    extends Object
    Utility class used to intercept calls to Message property sets and gets and map the correct AMQP fields to the property name being accessed.
    • Constructor Detail

      • AmqpJmsMessagePropertyIntercepter

        public AmqpJmsMessagePropertyIntercepter()
    • Method Detail

      • getProperty

        public static Object getProperty​(AmqpJmsMessageFacade message,
                                         String name)
                                  throws javax.jms.JMSException
        Static get method that takes a property name and gets the value either via a registered property get object or through the AmqpJmsMessageFacade getProperty method.
        Parameters:
        message - the AmqpJmsMessageFacade instance to read from
        name - the property name that is being requested.
        Returns:
        the correct value either mapped to an attribute of a Message or a message property.
        Throws:
        javax.jms.JMSException - if an error occurs while reading the defined property.
      • setProperty

        public static void setProperty​(AmqpJmsMessageFacade message,
                                       String name,
                                       Object value)
                                throws javax.jms.JMSException
        Static set method that takes a property name and sets the value either via a registered property set object or through the AmqpJmsMessageFacade setProperty method.
        Parameters:
        message - the AmqpJmsMessageFacade instance to write to.
        name - the property name that is being written.
        value - the new value to assign for the named property.
        Throws:
        javax.jms.JMSException - if an error occurs while writing the defined property.
      • propertyExists

        public static boolean propertyExists​(AmqpJmsMessageFacade message,
                                             String name)
                                      throws javax.jms.JMSException
        Static query method to determine if a specific property exists in the given message.
        Parameters:
        message - the AmqpJmsMessageFacade instance to write to.
        name - the property name that is being checked.
        Returns:
        true if the message contains the given property.
        Throws:
        javax.jms.JMSException - if an error occurs while inspecting the defined property.
      • getAllPropertyNames

        public static Set<String> getAllPropertyNames()
        For each of the currently configured message property intercepter instance a string key value is inserted into an Set and returned.
        Returns:
        a Set<String> containing the names of all intercepted properties.
      • getPropertyNames

        public static Set<String> getPropertyNames​(AmqpJmsMessageFacade message)
        For each of the currently configured message property intercepter instance a string key value is inserted into an Set and returned if the property has a value and is available for a read operation. The Set returned may be manipulated by the receiver without impacting the facade, and an empty set will be returned if there are no matching properties.
        Parameters:
        message - The message being enumerated.
        Returns:
        a Set<String> containing the names of all intercepted properties with a value.
      • clearProperties

        public static void clearProperties​(AmqpJmsMessageFacade message)
                                    throws javax.jms.JMSException
        For each of the currently configured message property intercepter instances clear or reset the value to its default.
        Parameters:
        message - the AmqpJmsMessageFacade instance to read from
        Throws:
        javax.jms.JMSException - if an error occurs while validating the defined property.