Package org.apache.camel.support
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
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 Summary
ConstructorsConstructorDescriptionDefaultMessage(org.apache.camel.CamelContext camelContext) DefaultMessage(org.apache.camel.Exchange exchange) -
Method Summary
Modifier and TypeMethodDescriptionA 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<T> T<T> T<T> Tbooleanprotected booleanReturns true if the headers have been mutated in some wayprotected BooleanA strategy for component specific messages to determine whether the message is redelivered or not.Returns a new instanceprotected voidA strategy method populate the initial set of headers on an inbound message from an underlying bindingremoveHeader(String name) booleanremoveHeaders(String pattern) booleanremoveHeaders(String pattern, String... excludePatterns) voidreset()voidvoidsetHeaders(Map<String, Object> headers) Methods inherited from class org.apache.camel.support.MessageSupport
copy, copyFrom, copyFromWithNewBody, createBody, createMessageId, getBody, getBody, getBody, getCamelContext, getDataType, getExchange, getMandatoryBody, getMandatoryBody, getMessageId, getMessageTimestamp, hasDataType, hasMessageId, setBody, setBody, setBody, setCamelContext, setDataType, setExchange, setMessageId, toString
-
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:
resetin interfaceorg.apache.camel.Message- Overrides:
resetin classMessageSupport
-
getHeader
-
getHeader
-
getHeader
-
getHeader
-
getHeader
-
getHeader
-
setHeader
-
removeHeader
-
removeHeaders
-
removeHeaders
-
getHeaders
-
setHeaders
-
hasHeaders
public boolean hasHeaders() -
newInstance
Description copied from class:MessageSupportReturns a new instance- Specified by:
newInstancein classMessageSupport
-
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
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
-
isTransactedRedelivered
A strategy for component specific messages to determine whether the message is redelivered or not. Important: It is not always possible to determine if the transacted is a redelivery or not, and therefore null is returned. Such an example would be a JDBC message. However JMS brokers provides details if a transacted message is redelivered.- Returns:
- true if redelivered, false if not, null if not able to determine
-
hasPopulatedHeaders
protected boolean hasPopulatedHeaders()Returns true if the headers have been mutated in some way
-