Class AdaptrisMessageFactory

    • Field Detail

      • OVERRIDE_DEFAULT_MSG_FACTORY_PROP

        public static final java.lang.String OVERRIDE_DEFAULT_MSG_FACTORY_PROP
        If set as as system property then the fully qualified classname is used as the default message factory.
        See Also:
        Constant Field Values
      • OVERRIDE_DEFAULT_MSG_FACTORY_ENV

        public static final java.lang.String OVERRIDE_DEFAULT_MSG_FACTORY_ENV
        If set as an env var then the fully qualified classname is used as the default message factory.

        This will take precedence over the system property

        See Also:
        OVERRIDE_DEFAULT_MSG_FACTORY_PROP, Constant Field Values
      • OVERRIDE_DEFAULT_MSGID_GEN_PROP

        public static final java.lang.String OVERRIDE_DEFAULT_MSGID_GEN_PROP
        If set as as system property then the fully qualified classname is used as the default ID generator.
        See Also:
        Constant Field Values
      • OVERRIDE_DEFAULT_MSGID_GEN_KEY

        public static final java.lang.String OVERRIDE_DEFAULT_MSGID_GEN_KEY
        If set as an env var then the fully qualified classname is used as the default ID Generator

        This will take precedence over the system property

        See Also:
        OVERRIDE_DEFAULT_MSGID_GEN_PROP, Constant Field Values
    • Constructor Detail

      • AdaptrisMessageFactory

        public AdaptrisMessageFactory()
    • Method Detail

      • defaultIfNull

        public static AdaptrisMessageFactory defaultIfNull​(AdaptrisMessageFactory f)
        Convenience method for null protection.
        Parameters:
        f - the configured message factory.
        Returns:
        the configured message factory or the default instance if it is null.
      • newMessage

        public abstract AdaptrisMessage newMessage​(byte[] payload,
                                                   java.util.Set metadata)

        Returns a new AdaptrisMessage with the specified payload and metadata.

        Parameters:
        payload - the byte[] payload
        metadata - a Set of MetadataElements
        Returns:
        a new AdaptrisMessage
      • newMessage

        public abstract AdaptrisMessage newMessage​(byte[] payload)

        Returns a new AdaptrisMessage with the specified payload and metadata.

        Parameters:
        payload - the byte[] payload
        Returns:
        a new AdaptrisMessage
      • newMessage

        public abstract AdaptrisMessage newMessage​(java.lang.String payload,
                                                   java.util.Set metadata)

        Returns a new AdaptrisMessage with the specified payload and metadata. Uses default platform character encoding.

        Parameters:
        payload - the String payload
        metadata - a Set of MetadataElements
        Returns:
        a new AdaptrisMessage
      • newMessage

        public abstract AdaptrisMessage newMessage​(java.lang.String payload)

        Returns a new AdaptrisMessage with the specified payload and metadata. Uses default platform character encoding.

        Parameters:
        payload - the String payload
        Returns:
        a new AdaptrisMessage
      • newMessage

        public abstract AdaptrisMessage newMessage​(java.lang.String payload,
                                                   java.lang.String charEncoding,
                                                   java.util.Set metadata)
                                            throws java.io.UnsupportedEncodingException

        Returns a new AdaptrisMessage with the specified payload and metadata. Uses default platform character encoding.

        Parameters:
        payload - the String payload
        metadata - a Set of MetadataElements
        charEncoding - the String's character encoding
        Returns:
        a new AdaptrisMessage
        Throws:
        java.io.UnsupportedEncodingException - if the passed character encoding is not supported
      • newMessage

        public abstract AdaptrisMessage newMessage​(java.lang.String payload,
                                                   java.lang.String charEncoding)
                                            throws java.io.UnsupportedEncodingException

        Returns a new AdaptrisMessage with the specified payload and metadata. Uses default platform character encoding.

        Parameters:
        payload - the String payload
        charEncoding - the String's character encoding
        Returns:
        a new AdaptrisMessage
        Throws:
        java.io.UnsupportedEncodingException - if the passed character encoding is not supported
      • newMessage

        public abstract AdaptrisMessage newMessage​(AdaptrisMessage source,
                                                   java.util.Collection<java.lang.String> metadataKeysToPreserve)
                                            throws java.lang.CloneNotSupportedException
        Returns a new AdaptrisMessage with an empty payload but with selected metadata from the source.

        The new AdaptrisMessage will have the same message id and MessageLifecycleEvent will be cloned from the original. Object metadata will also be preserved.

        Parameters:
        source - the original AdaptrisMessage
        metadataKeysToPreserve - a list of keys to transfer to the new Message; if null, then all keys.
        Returns:
        a new AdaptrisMessage
        Throws:
        java.lang.CloneNotSupportedException - if the MleMarkers could not be cloned.
      • getDefaultCharEncoding

        public abstract java.lang.String getDefaultCharEncoding()
        Return the default character encoding for the message.
        Returns:
        the defaultCharEncoding
      • setDefaultCharEncoding

        public abstract void setDefaultCharEncoding​(java.lang.String s)
        Set the default character encoding to be applied to the message upon creation.

        If not explicitly configured, then the platform default character encoding should be used.

        Parameters:
        s - the defaultCharEncoding to set
        See Also:
        AdaptrisMessage.setCharEncoding(String), InterlokMessage.setContentEncoding(String)
      • newMessage

        public abstract AdaptrisMessage newMessage()

        Returns a new AdaptrisMessage. Payload and metadata are null.

        Returns:
        a new AdaptrisMessage with the specified payload and metadata
      • getUniqueIdGenerator

        public IdGenerator getUniqueIdGenerator()
        Returns:
        the uniqueIdGenerator
      • setUniqueIdGenerator

        public void setUniqueIdGenerator​(IdGenerator s)
        Set the unique id generator used for messages.

        In some situations you may not want to use the default GuidGenerator instance when assigning unique ids to messages. This allows you to change the IdGenerator used both for message ids unique ids associated with MessageLifecycleEvent.

        Parameters:
        s - the uniqueIdGenerator to set
      • uniqueIdGenerator

        protected IdGenerator uniqueIdGenerator()
      • createDefaultIdGenerator

        protected static IdGenerator createDefaultIdGenerator()
      • resolve

        protected static java.lang.String resolve​(java.lang.String envKey,
                                                  java.lang.String sysPropKey,
                                                  java.lang.String defaultValue)
        Resolve a value from an environment variable or system property.
        Parameters:
        envKey - the environment variable, this takes precedence over system properties.
        sysPropKey - the system property.
        defaultValue - the default value if neither keys exist.
        Returns:
        the resolved value.