Class AbstractMessagingMessageConverter<S>

java.lang.Object
io.awspring.cloud.sqs.support.converter.AbstractMessagingMessageConverter<S>
All Implemented Interfaces:
ContextAwareMessagingMessageConverter<S>, MessagingMessageConverter<S>
Direct Known Subclasses:
SqsMessagingMessageConverter

public abstract class AbstractMessagingMessageConverter<S> extends Object implements ContextAwareMessagingMessageConverter<S>
Base MessagingMessageConverter implementation.
Since:
3.0
Author:
Tomaz Fernandes
See Also:
  • Constructor Details

    • AbstractMessagingMessageConverter

      protected AbstractMessagingMessageConverter()
  • Method Details

    • setPayloadTypeMapper

      public void setPayloadTypeMapper(Function<Message<?>,Class<?>> payloadTypeMapper)
      Set the payload type mapper to be used by this converter. Message payloads will be converted to the Class returned by this function. The defaultHeaderTypeMapping(org.springframework.messaging.Message<?>) uses the typeHeader property to retrieve the payload class' FQCN. This method replaces the default type mapping for this converter instance.
      Parameters:
      payloadTypeMapper - the type mapping function.
    • setPayloadMessageConverter

      public void setPayloadMessageConverter(MessageConverter messageConverter)
      Set the MessageConverter to be used for converting the Message instances payloads.
      Parameters:
      messageConverter - the converter instance.
    • setObjectMapper

      public void setObjectMapper(com.fasterxml.jackson.databind.ObjectMapper objectMapper)
      Set the ObjectMapper instance to be used for converting the Message instances payloads.
      Parameters:
      objectMapper - the object mapper instance.
    • getPayloadMessageConverter

      public MessageConverter getPayloadMessageConverter()
      Get the MessageConverter to be used for converting the Message instances payloads.
      Returns:
      the instance.
    • setPayloadTypeHeader

      public void setPayloadTypeHeader(String typeHeader)
      Set the name of the header to be looked up in a Message instance by the defaultHeaderTypeMapping(Message).
      Parameters:
      typeHeader - the header name.
    • setPayloadTypeHeaderValueFunction

      public void setPayloadTypeHeaderValueFunction(Function<Message<?>,String> payloadTypeHeaderFunction)
      Set the function to create the payload type header value from.
      Parameters:
      payloadTypeHeaderFunction - the function.
    • setHeaderMapper

      public void setHeaderMapper(HeaderMapper<S> headerMapper)
      Set the HeaderMapper to used to convert headers for Message instances.
      Parameters:
      headerMapper - the header mapper instance.
    • createDefaultHeaderMapper

      protected abstract HeaderMapper<S> createDefaultHeaderMapper()
    • toMessagingMessage

      public Message<?> toMessagingMessage(S message, @Nullable MessageConversionContext context)
      Description copied from interface: ContextAwareMessagingMessageConverter
      Convert a source message from a specific messaging system to a Message with an optional context.
      Specified by:
      toMessagingMessage in interface ContextAwareMessagingMessageConverter<S>
      Parameters:
      message - the source message.
      context - an optional context with information to be used in the conversion process.
      Returns:
      the converted message.
    • getPayloadToDeserialize

      protected abstract Object getPayloadToDeserialize(S message)
    • createMessageConversionContext

      public MessageConversionContext createMessageConversionContext()
      Description copied from interface: ContextAwareMessagingMessageConverter
      An optional context to be used in the conversion process.
      Specified by:
      createMessageConversionContext in interface ContextAwareMessagingMessageConverter<S>
      Returns:
      the context.
    • fromMessagingMessage

      public S fromMessagingMessage(Message<?> message, @Nullable MessageConversionContext context)
      Description copied from interface: ContextAwareMessagingMessageConverter
      Convert a Message to a message from a specific messaging system.
      Specified by:
      fromMessagingMessage in interface ContextAwareMessagingMessageConverter<S>
      Parameters:
      message - the message from which to convert.
      context - an optional context with information to be used in the conversion process.
      Returns:
      the system specific message.
    • doConvertMessage

      protected abstract S doConvertMessage(S messageWithHeaders, Object payload)