Class DefaultMessage

java.lang.Object
org.apache.camel.support.MessageSupport
org.apache.camel.support.DefaultMessage
All Implemented Interfaces:
org.apache.camel.CamelContextAware, org.apache.camel.Message, org.apache.camel.spi.DataTypeAware, org.apache.camel.spi.HasCamelContext

public class DefaultMessage extends MessageSupport
The default implementation of Message

This implementation uses a CaseInsensitiveMap storing the headers. This allows us to be able to lookup headers using case insensitive keys, making it easier for end users as they do not have to be worried about using exact keys. See more details at CaseInsensitiveMap. The implementation of the map can be configured by the HeadersMapFactory which can be set on the CamelContext. The default implementation uses the CaseInsensitiveMap.

  • Constructor Details

    • DefaultMessage

      public DefaultMessage(org.apache.camel.Exchange exchange)
    • DefaultMessage

      public DefaultMessage(org.apache.camel.CamelContext camelContext)
  • Method Details

    • reset

      public void reset()
      Specified by:
      reset in interface org.apache.camel.Message
      Overrides:
      reset in class MessageSupport
    • getHeader

      public Object getHeader(String name)
    • getHeader

      public Object getHeader(String name, Object defaultValue)
    • getHeader

      public Object getHeader(String name, Supplier<Object> defaultValueSupplier)
    • getHeader

      public <T> T getHeader(String name, Class<T> type)
    • getHeader

      public <T> T getHeader(String name, Object defaultValue, Class<T> type)
    • getHeader

      public <T> T getHeader(String name, Supplier<Object> defaultValueSupplier, Class<T> type)
    • setHeader

      public void setHeader(String name, Object value)
    • removeHeader

      public Object removeHeader(String name)
    • removeHeaders

      public boolean removeHeaders(String pattern)
    • removeHeaders

      public boolean removeHeaders(String pattern, String... excludePatterns)
    • getHeaders

      public Map<String,Object> getHeaders()
    • setHeaders

      public void setHeaders(Map<String,Object> headers)
    • hasHeaders

      public boolean hasHeaders()
    • newInstance

      public DefaultMessage newInstance()
      Description copied from class: MessageSupport
      Returns a new instance
      Specified by:
      newInstance in class MessageSupport
    • createHeaders

      protected Map<String,Object> createHeaders()
      A factory method to lazily create the headers to make it easy to create efficient Message implementations which only construct and populate the Map on demand
      Returns:
      return a newly constructed Map possibly containing headers from the underlying inbound transport
    • populateInitialHeaders

      protected void populateInitialHeaders(Map<String,Object> map)
      A strategy method populate the initial set of headers on an inbound message from an underlying binding
      Parameters:
      map - is the empty header map to populate
    • hasPopulatedHeaders

      protected boolean hasPopulatedHeaders()
      Returns true if the headers have been mutated in some way