Interface AdaptrisMessage

    • Method Detail

      • setPayload

        void setPayload​(byte[] payload)

        Sets the passed byte[] as this message's payload.

        Parameters:
        payload - the payload
      • getPayload

        byte[] getPayload()

        Returns a copy of this message's payload in its raw, byte[] form.

        Returns:
        payload in byte[] form
      • getSize

        long getSize()
        Return the size of the payload.
        Returns:
        the size of the payload.
      • setStringPayload

        @Deprecated
        default void setStringPayload​(java.lang.String payload)
        Deprecated.
        you should use setStringPayload(String, String) and formally declare the encoding you wish to use for this string; since 2.9.3

        Sets the passed String as the payload. The passed String is assumed to have the default platform encoding and any previously set character encoding will be set to null. If a specific character encoding is required use setStringPayload(String, String) .

        Parameters:
        payload - the payload to set
      • setStringPayload

        @Deprecated
        default void setStringPayload​(java.lang.String payload,
                                      java.lang.String charEncoding)
        Deprecated.

        Sets the passed String with the passed character encoding as the payload. Passing null for charEncoding is the same as using setPayload(String).

        Parameters:
        payload - the payload
        charEncoding - the character encoding used by the payload
      • getStringPayload

        @Deprecated
        default java.lang.String getStringPayload()
        Deprecated.
        since 3.0.6 use {InterlokMessage.getContent() instead.

        Returns a String representation of the payload. This String will be created using the provided character encoding if one has been set, otherwise the default platform character encoding will be used. If you wish to apply a different character encoding use getPayload to obtain a raw byte[].

        Returns:
        a String representation of the payload
      • setCharEncoding

        @Deprecated
        default void setCharEncoding​(java.lang.String charEncoding)
        Deprecated.

        Sets the character encoding associated with the payload. If a character encoding is not explicitly set using this method, implementations are expected to use the default platform character encoding.

        Parameters:
        charEncoding - the character encoding associated with the payload.
      • getCharEncoding

        @Deprecated
        default java.lang.String getCharEncoding()
        Deprecated.
        since 3.0.6 use {InterlokMessage.getContentEncoding() instead.

        Returns this message's character encoding, if one has been explicitly set, otherwise null.

        Returns:
        this message's character encoding, if one has been explicitly set, otherwise null
      • getMetadataValue

        java.lang.String getMetadataValue​(java.lang.String key)

        Returns the String value associated with the passed key or null if the key does not exist. NB may also return null if null was explicitly set as the value of the key. Use containsKey to differentiate these cases.

        Parameters:
        key - the key to look for
        Returns:
        the value associated with the key
      • getMetadata

        MetadataElement getMetadata​(java.lang.String key)

        Returns the MetadataElement containing the passed key or null if the key does not exist. NB may also return null if null was explicitly set as the value of the key. Use containsKey to differentiate these cases.

        Parameters:
        key - the key to look for
        Returns:
        the MetadataElement containing the key
      • containsKey

        @Deprecated
        default boolean containsKey​(java.lang.String key)
        Deprecated.

        Returns true if the message contains metadata against the passed key.

        Parameters:
        key - the key to look for
        Returns:
        true if the message contains a metadata against the passed key
      • addMetadata

        void addMetadata​(java.lang.String key,
                         java.lang.String value)

        Puts the passed value into the metadata against the passed key. If a value has previously been set against this key it will be overwritten.

        Parameters:
        key - the key
        value - the value
      • addMetadata

        void addMetadata​(MetadataElement metadata)

        Puts the passed MetadataElement into the metadata. If a value has previously been set with the same key it will be overwritten and a message to that effect should be logged.

        Parameters:
        metadata - the MetadataElement to add
      • removeMetadata

        void removeMetadata​(MetadataElement element)

        Removes the passed MetadataElement from the metadata if it is present.

        Parameters:
        element - the MetadataElement to remove
      • getMetadata

        java.util.Set<MetadataElement> getMetadata()

        Returns a shallow clone of this message's metadata.

        Returns:
        a Set of all MetadataElementss
      • setMetadata

        void setMetadata​(java.util.Set<MetadataElement> metadata)
        Adds all the passed metadata to this message's metadata.

        This will overwrite any pre-existing keys, but will not remove existing metadata

        Parameters:
        metadata - the metadata to add
      • clearMetadata

        void clearMetadata()

        Clears the current metadata.

      • getFactory

        AdaptrisMessageFactory getFactory()
        Return the factory that created this message.
        Returns:
        the factory.
      • clone

        java.lang.Object clone()
                        throws java.lang.CloneNotSupportedException

        Returns a deep clone of this object.

        Returns:
        a deep clone of this object
        Throws:
        java.lang.CloneNotSupportedException - if the implementation does not support cloning
      • addEvent

        void addEvent​(MessageEventGenerator meg,
                      boolean wasSuccessful)

        Adds an event to this AdaptrisMessage's MessageLifecycleEvent.

        Parameters:
        meg - the MessageEventGenerator
        wasSuccessful - the status of the event
      • getMessageLifecycleEvent

        MessageLifecycleEvent getMessageLifecycleEvent()

        Returns this object's MessageLifecycleEvent.

        Returns:
        this object's MessageLifecycleEvent
      • encode

        byte[] encode​(AdaptrisMessageEncoder encoder)
               throws CoreException

        Uses the passed AdaptrisMessageEncoder to create an encoded version of this AdaptrisMessage. If null is passed this method returns this.getPayload().

        Parameters:
        encoder - the AdaptrisMessageEncoder to use
        Returns:
        a byte[] representation of this message
        Throws:
        CoreException - wrapping any underlying Exceptions that may occur
      • addObjectMetadata

        @Deprecated
        default void addObjectMetadata​(java.lang.String key,
                                       java.lang.Object object)
        Deprecated.

        Adds an Object to this message as metadata. Object metadata is intended to be used within a single Workflow only and will not be encoded or otherwise transported between Workflows.

        Parameters:
        object - the Object to set as metadata
        key - the key to store this object against.
      • getObjectMetadata

        @Deprecated
        default java.util.Map getObjectMetadata()
        Deprecated.
        since 3.0.6 use InterlokMessage.getObjectHeaders() instead.

        Returns the Map of Object metadata.

        Returns:
        the Map of Object metadata
      • getPayloadForLogging

        default java.lang.String getPayloadForLogging()
      • getNextServiceId

        java.lang.String getNextServiceId()

        Returns the unique ID of the next Service to apply to the message. Optional, used by BranchingServiceCollection and possibly others later.

        Returns:
        the unique ID of the next Service to apply
      • setNextServiceId

        void setNextServiceId​(java.lang.String uniqueId)

        Sets the unique ID of the next Service to apply to the message.

        Parameters:
        uniqueId - the unique ID of the next Service to apply to the message
      • getMetadataValueIgnoreKeyCase

        java.lang.String getMetadataValueIgnoreKeyCase​(java.lang.String key)

        First looks for a metadata value stored against the passed key taking account of the passed key's case. If a value is found it is returned. Next looks for a metadata value stored against the passed key ignoring. The valued stored against the first key which matches the passed key ignoring case is returned. As the underlying store is unordered, which key will match first is undefined. If no key matches the passed key ignoring case, null is returned.

        E.g. where a message has the metdadata values "1" and "2" set against keys "AAA" and "aaa" respectively, calling getMetadataValueIgnoreKeyCase("AAA") will return "1', calling getMetadataValueIgnoreKeyCase("aaa") will return "2', and calling getMetadataValueIgnoreKeyCase("aAA") will return either "1' or "2".

        Parameters:
        key - the key to look for
        Returns:
        the value associated with the key or null
      • equivalentForTracking

        boolean equivalentForTracking​(AdaptrisMessage other)

        AdaptrisMessage's are equivalent for tracking if they have the same unique Id, their payloads are equal, their char encodings are equal and their metadata is equal. NB equality of metadata is based on key only.

        Parameters:
        other - the message to compare
        Returns:
        true if the passed message is equivalent for tracking