public final class MessageHelper extends Object
Message
.Modifier and Type | Method and Description |
---|---|
static void |
copyBody(org.apache.camel.Message source,
org.apache.camel.Message target)
Copies the body of the source message to the body of the target message while preserving the data type if the
messages are both of type
DataTypeAware . |
static void |
copyHeaders(org.apache.camel.Message source,
org.apache.camel.Message target,
boolean override)
Copies the headers from the source to the target message.
|
static void |
copyHeaders(org.apache.camel.Message source,
org.apache.camel.Message target,
org.apache.camel.spi.HeaderFilterStrategy strategy,
boolean override)
Copies the headers from the source to the target message.
|
static String |
dumpAsXml(org.apache.camel.Message message)
Dumps the message as a generic XML structure.
|
static String |
dumpAsXml(org.apache.camel.Message message,
boolean includeBody)
Dumps the message as a generic XML structure.
|
static String |
dumpAsXml(org.apache.camel.Message message,
boolean includeBody,
int indent)
Dumps the message as a generic XML structure.
|
static String |
dumpAsXml(org.apache.camel.Message message,
boolean includeBody,
int indent,
boolean allowStreams,
boolean allowFiles,
int maxChars)
Dumps the message as a generic XML structure.
|
static String |
dumpMessageHistoryStacktrace(org.apache.camel.Exchange exchange,
org.apache.camel.spi.ExchangeFormatter exchangeFormatter,
boolean logStackTrace)
Dumps the
MessageHistory from the Exchange in a human readable format. |
static String |
extractBodyAsString(org.apache.camel.Message message)
Extracts the given body and returns it as a String, that can be used for logging etc.
|
static String |
extractBodyForLogging(org.apache.camel.Message message)
Extracts the body for logging purpose.
|
static String |
extractBodyForLogging(org.apache.camel.Message message,
String prepend)
Extracts the body for logging purpose.
|
static String |
extractBodyForLogging(org.apache.camel.Message message,
String prepend,
boolean allowStreams,
boolean allowFiles)
Extracts the body for logging purpose.
|
static String |
extractBodyForLogging(org.apache.camel.Message message,
String prepend,
boolean allowStreams,
boolean allowFiles,
int maxChars)
Extracts the body for logging purpose.
|
static String |
extractValueForLogging(Object value,
org.apache.camel.Message message)
Extracts the value for logging purpose.
|
static String |
extractValueForLogging(Object obj,
org.apache.camel.Message message,
boolean allowStreams,
boolean allowFiles,
int maxChars)
Extracts the value for logging purpose.
|
static String |
getBodyTypeName(org.apache.camel.Message message)
Gets the given body class type name as a String.
|
static String |
getContentEncoding(org.apache.camel.Message message)
Returns the MIME content encoding on the message or null if none defined
|
static String |
getContentType(org.apache.camel.Message message)
Returns the MIME content type on the message or null if none defined
|
static void |
onClassloaded(org.slf4j.Logger log) |
static void |
resetStreamCache(org.apache.camel.Message message)
If the message body contains a
StreamCache instance, reset the cache to enable reading from it again. |
public static void onClassloaded(org.slf4j.Logger log)
public static String extractBodyAsString(org.apache.camel.Message message)
message
- the message with the bodypublic static String getBodyTypeName(org.apache.camel.Message message)
message
- the message with the bodypublic static void resetStreamCache(org.apache.camel.Message message)
StreamCache
instance, reset the cache to enable reading from it again.message
- the message for which to reset the bodypublic static String getContentType(org.apache.camel.Message message)
public static String getContentEncoding(org.apache.camel.Message message)
public static String extractBodyForLogging(org.apache.camel.Message message)
message
- the messageExchange.LOG_DEBUG_BODY_STREAMS
,
Exchange.LOG_DEBUG_BODY_MAX_CHARS
public static String extractValueForLogging(Object value, org.apache.camel.Message message)
value
- the valuemessage
- the messageExchange.LOG_DEBUG_BODY_STREAMS
,
Exchange.LOG_DEBUG_BODY_MAX_CHARS
public static String extractBodyForLogging(org.apache.camel.Message message, String prepend)
message
- the messageprepend
- a message to prependExchange.LOG_DEBUG_BODY_STREAMS
,
Exchange.LOG_DEBUG_BODY_MAX_CHARS
public static String extractBodyForLogging(org.apache.camel.Message message, String prepend, boolean allowStreams, boolean allowFiles)
message
- the messageprepend
- a message to prependallowStreams
- whether or not streams is allowedallowFiles
- whether or not files is allowed (currently not in use)Exchange.LOG_DEBUG_BODY_STREAMS
,
Exchange.LOG_DEBUG_BODY_MAX_CHARS
public static String extractBodyForLogging(org.apache.camel.Message message, String prepend, boolean allowStreams, boolean allowFiles, int maxChars)
message
- the messageprepend
- a message to prepend (optional)allowStreams
- whether or not streams is allowedallowFiles
- whether or not files is allowed (currently not in use)maxChars
- limit to maximum number of chars. Use 0 for not limit, and -1 for turning logging message
body off.Exchange.LOG_DEBUG_BODY_MAX_CHARS
public static String extractValueForLogging(Object obj, org.apache.camel.Message message, boolean allowStreams, boolean allowFiles, int maxChars)
obj
- the valuemessage
- the messageallowStreams
- whether or not streams is allowedallowFiles
- whether or not files is allowed (currently not in use)maxChars
- limit to maximum number of chars. Use 0 for not limit, and -1 for turning logging message
body off.Exchange.LOG_DEBUG_BODY_MAX_CHARS
public static String dumpAsXml(org.apache.camel.Message message)
message
- the messagepublic static String dumpAsXml(org.apache.camel.Message message, boolean includeBody)
message
- the messageincludeBody
- whether or not to include the message bodypublic static String dumpAsXml(org.apache.camel.Message message, boolean includeBody, int indent)
message
- the messageincludeBody
- whether or not to include the message bodyindent
- number of spaces to indentpublic static String dumpAsXml(org.apache.camel.Message message, boolean includeBody, int indent, boolean allowStreams, boolean allowFiles, int maxChars)
message
- the messageincludeBody
- whether or not to include the message bodyindent
- number of spaces to indentallowStreams
- whether to include message body if they are stream basedallowFiles
- whether to include message body if they are file basedmaxChars
- clip body after maximum chars (to avoid very big messages). Use 0 or negative value to not
limit at all.public static void copyBody(org.apache.camel.Message source, org.apache.camel.Message target)
DataTypeAware
. .source
- the source message from which the body must be extracted.target
- the target message that will receive the body.public static void copyHeaders(org.apache.camel.Message source, org.apache.camel.Message target, boolean override)
source
- the source messagetarget
- the target messageoverride
- whether to override existing headerspublic static void copyHeaders(org.apache.camel.Message source, org.apache.camel.Message target, org.apache.camel.spi.HeaderFilterStrategy strategy, boolean override)
source
- the source messagetarget
- the target messagestrategy
- the header filter strategy which could help us to filter the protocol message headersoverride
- whether to override existing headerspublic static String dumpMessageHistoryStacktrace(org.apache.camel.Exchange exchange, org.apache.camel.spi.ExchangeFormatter exchangeFormatter, boolean logStackTrace)
MessageHistory
from the Exchange
in a human readable format.exchange
- the exchangeexchangeFormatter
- if provided then information about the exchange is included in the dumplogStackTrace
- whether to include a header for the stacktrace, to be added (not included in this
dump).Apache Camel