|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.camel.util.ExchangeHelper
public final class ExchangeHelper
Some helper methods for working with Exchange
objects
Method Summary | ||
---|---|---|
static
|
convertToMandatoryType(Exchange exchange,
Class<T> type,
Object value)
Converts the value to the given expected type or throws an exception |
|
static
|
convertToType(Exchange exchange,
Class<T> type,
Object value)
Converts the value to the given expected type returning null if it could not be converted |
|
static void |
copyResults(Exchange result,
Exchange source)
Copies the results of a message exchange from the source exchange to the result exchange which will copy the out and fault message contents and the exception |
|
static void |
copyResultsPreservePattern(Exchange result,
Exchange source)
Copies the source exchange to target exchange
preserving the ExchangePattern of target . |
|
static Exchange |
createCopy(Exchange exchange,
boolean preserveExchangeId)
Creates a new instance and copies from the current message exchange so that it can be forwarded to another destination as a new instance. |
|
static Exchange |
createCorrelatedCopy(Exchange exchange,
boolean handover)
Creates a new instance and copies from the current message exchange so that it can be forwarded to another destination as a new instance. |
|
static String |
createExceptionMessage(String message,
Exchange exchange,
Throwable cause)
Creates an exception message with the provided details. |
|
static Map<String,Object> |
createVariableMap(Exchange exchange)
Creates a Map of the variables which are made available to a script or template |
|
static
|
extractFutureBody(CamelContext context,
Future<Object> future,
Class<T> type)
Extracts the body from the given future, that represents a handle to an asynchronous exchange. |
|
static
|
extractFutureBody(CamelContext context,
Future<Object> future,
long timeout,
TimeUnit unit,
Class<T> type)
Extracts the body from the given future, that represents a handle to an asynchronous exchange. |
|
static Object |
extractResultBody(Exchange exchange,
ExchangePattern pattern)
Extracts the body from the given exchange. |
|
static
|
getBinding(Exchange exchange,
Class<T> type)
Extracts the Exchange.BINDING of the given type or null if not present |
|
static String |
getContentEncoding(Exchange exchange)
Returns the MIME content encoding on the input message or null if one is not defined |
|
static String |
getContentType(Exchange exchange)
Returns the MIME content type on the input message or null if one is not defined |
|
static Exchange |
getExchangeById(Iterable<Exchange> exchanges,
String exchangeId)
Returns the first exchange in the given collection of exchanges which has the same exchange ID as the one given or null if none could be found |
|
static
|
getMandatoryHeader(Exchange exchange,
String propertyName,
Class<T> type)
|
|
static Object |
getMandatoryInBody(Exchange exchange)
Returns the mandatory inbound message body of the correct type or throws an exception if it is not present |
|
static
|
getMandatoryInBody(Exchange exchange,
Class<T> type)
Returns the mandatory inbound message body of the correct type or throws an exception if it is not present |
|
static Object |
getMandatoryOutBody(Exchange exchange)
Returns the mandatory outbound message body of the correct type or throws an exception if it is not present |
|
static
|
getMandatoryOutBody(Exchange exchange,
Class<T> type)
Returns the mandatory outbound message body of the correct type or throws an exception if it is not present |
|
static
|
getMandatoryProperty(Exchange exchange,
String propertyName,
Class<T> type)
|
|
static Message |
getResultMessage(Exchange exchange)
Returns the message where to write results in an exchange-pattern-sensitive way. |
|
static boolean |
hasExceptionBeenHandledByErrorHandler(Exchange exchange)
Tests whether the exchange has already been handled by the error handler |
|
static boolean |
hasFaultMessage(Exchange exchange)
Tests whether the exchange has a fault message set and that its not null. |
|
static boolean |
isFailureHandled(Exchange exchange)
|
|
static boolean |
isInterrupted(Exchange exchange)
|
|
static boolean |
isOutCapable(Exchange exchange)
Returns true if the given exchange pattern (if defined) can support OUT messages |
|
static boolean |
isRedeliveryExhausted(Exchange exchange)
|
|
static Object |
lookupBean(Exchange exchange,
String name)
Performs a lookup in the registry of the bean name |
|
static
|
lookupBean(Exchange exchange,
String name,
Class<T> type)
Performs a lookup in the registry of the bean name and type |
|
static Object |
lookupMandatoryBean(Exchange exchange,
String name)
Performs a lookup in the registry of the mandatory bean name and throws an exception if it could not be found |
|
static
|
lookupMandatoryBean(Exchange exchange,
String name,
Class<T> type)
Performs a lookup in the registry of the mandatory bean name and throws an exception if it could not be found |
|
static
|
newInstance(Exchange exchange,
Class<T> type)
Creates a new instance of the given type from the injector |
|
static void |
populateVariableMap(Exchange exchange,
Map<String,Object> map)
Populates the Map with the variables which are made available to a script or template |
|
static void |
prepareAggregation(Exchange oldExchange,
Exchange newExchange)
Prepares the exchanges for aggregation. |
|
static void |
prepareOutToIn(Exchange exchange)
Strategy to prepare results before next iterator or when we are complete, which is done by copying OUT to IN, so there is only an IN as input for the next iteration. |
|
static Endpoint |
resolveEndpoint(Exchange exchange,
Object value)
Attempts to resolve the endpoint for the given value |
|
static void |
setFailureHandled(Exchange exchange)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static <T> T getBinding(Exchange exchange, Class<T> type)
exchange
- the message exchangetype
- the expected binding type
public static Endpoint resolveEndpoint(Exchange exchange, Object value) throws NoSuchEndpointException
exchange
- the message exchange being processedvalue
- the value which can be an Endpoint
or an object
which provides a String representation of an endpoint via
Object.toString()
NoSuchEndpointException
- if the endpoint cannot be resolvedpublic static <T> T getMandatoryProperty(Exchange exchange, String propertyName, Class<T> type) throws NoSuchPropertyException
NoSuchPropertyException
public static <T> T getMandatoryHeader(Exchange exchange, String propertyName, Class<T> type) throws NoSuchHeaderException
NoSuchHeaderException
public static Object getMandatoryInBody(Exchange exchange) throws InvalidPayloadException
InvalidPayloadException
public static <T> T getMandatoryInBody(Exchange exchange, Class<T> type) throws InvalidPayloadException
InvalidPayloadException
public static Object getMandatoryOutBody(Exchange exchange) throws InvalidPayloadException
InvalidPayloadException
public static <T> T getMandatoryOutBody(Exchange exchange, Class<T> type) throws InvalidPayloadException
InvalidPayloadException
public static <T> T convertToMandatoryType(Exchange exchange, Class<T> type, Object value) throws NoTypeConversionAvailableException
NoTypeConversionAvailableException
public static <T> T convertToType(Exchange exchange, Class<T> type, Object value)
public static Exchange createCorrelatedCopy(Exchange exchange, boolean handover)
UnitOfWork
so its should be used
for async messaging, where the original and copied exchange are independent.
exchange
- original copy of the exchangehandover
- whether the on completion callbacks should be handed over to the new copy.public static Exchange createCopy(Exchange exchange, boolean preserveExchangeId)
exchange
- original copy of the exchangepreserveExchangeId
- whether or not the exchange id should be preserved
public static void copyResults(Exchange result, Exchange source)
result
- the result exchange which will have the output and error state addedsource
- the source exchange which is not modifiedpublic static void copyResultsPreservePattern(Exchange result, Exchange source)
source
exchange to target
exchange
preserving the ExchangePattern
of target
.
source
- source exchange.result
- target exchange.public static Message getResultMessage(Exchange exchange)
exchange
- message exchange.
public static boolean isOutCapable(Exchange exchange)
exchange
- the exchange to interrogate
ExchangePattern
which supports
OUT messagespublic static <T> T newInstance(Exchange exchange, Class<T> type)
public static Map<String,Object> createVariableMap(Exchange exchange)
exchange
- the exchange to make available
public static void populateVariableMap(Exchange exchange, Map<String,Object> map)
exchange
- the exchange to make availablemap
- the map to populatepublic static String getContentType(Exchange exchange)
public static String getContentEncoding(Exchange exchange)
public static Object lookupMandatoryBean(Exchange exchange, String name)
public static <T> T lookupMandatoryBean(Exchange exchange, String name, Class<T> type)
public static Object lookupBean(Exchange exchange, String name)
public static <T> T lookupBean(Exchange exchange, String name, Class<T> type)
public static Exchange getExchangeById(Iterable<Exchange> exchanges, String exchangeId)
public static void prepareAggregation(Exchange oldExchange, Exchange newExchange)
oldExchange
- the old exchangenewExchange
- the new exchangepublic static boolean isFailureHandled(Exchange exchange)
public static void setFailureHandled(Exchange exchange)
public static boolean isRedeliveryExhausted(Exchange exchange)
public static boolean isInterrupted(Exchange exchange)
public static Object extractResultBody(Exchange exchange, ExchangePattern pattern)
exchange
- the exchangepattern
- exchange pattern if given, can be null
CamelExecutionException
- is thrown if the processing of the exchange failedpublic static boolean hasFaultMessage(Exchange exchange)
exchange
- the exchange
public static boolean hasExceptionBeenHandledByErrorHandler(Exchange exchange)
exchange
- the exchange
public static <T> T extractFutureBody(CamelContext context, Future<Object> future, Class<T> type)
context
- the camel contextfuture
- the future handletype
- the expected body response type
CamelExecutionException
- is thrown if the processing of the exchange failedpublic static <T> T extractFutureBody(CamelContext context, Future<Object> future, long timeout, TimeUnit unit, Class<T> type) throws TimeoutException
context
- the camel contextfuture
- the future handletimeout
- timeout valueunit
- timeout unittype
- the expected body response type
CamelExecutionException
- is thrown if the processing of the exchange failed
TimeoutException
- is thrown if a timeout triggeredpublic static String createExceptionMessage(String message, Exchange exchange, Throwable cause)
message
- the messageexchange
- the exchangecause
- the caused exception
public static void prepareOutToIn(Exchange exchange)
exchange
- the exchange to prepare
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |