public final class AggregationStrategyBeanAdapter extends ServiceSupport implements AggregationStrategy, CamelContextAware
AggregationStrategy
that adapts to a POJO.
This allows end users to use POJOs for the aggregation logic, instead of having to implement the
Camel API AggregationStrategy
.shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
Constructor and Description |
---|
AggregationStrategyBeanAdapter(Class<?> type)
Creates this adapter.
|
AggregationStrategyBeanAdapter(Class<?> type,
String methodName)
Creates this adapter.
|
AggregationStrategyBeanAdapter(Object pojo)
Creates this adapter.
|
AggregationStrategyBeanAdapter(Object pojo,
String methodName)
Creates this adapter.
|
Modifier and Type | Method and Description |
---|---|
Exchange |
aggregate(Exchange oldExchange,
Exchange newExchange)
Aggregates an old and new exchange together to create a single combined exchange
|
protected void |
doStart()
Implementations override this method to support customized start/stop.
|
protected void |
doStop()
Implementations override this method to support customized start/stop.
|
CamelContext |
getCamelContext()
Get the
CamelContext |
String |
getMethodName() |
boolean |
isAllowNullNewExchange() |
boolean |
isAllowNullOldExchange() |
protected boolean |
isValidMethod(Method method)
Validates whether the given method is valid.
|
void |
setAllowNullNewExchange(boolean allowNullNewExchange) |
void |
setAllowNullOldExchange(boolean allowNullOldExchange) |
void |
setCamelContext(CamelContext camelContext)
Injects the
CamelContext |
void |
setMethodName(String methodName) |
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, isSuspendingOrSuspended, resume, shutdown, start, stop, suspend
public AggregationStrategyBeanAdapter(Object pojo)
pojo
- the pojo to use.public AggregationStrategyBeanAdapter(Class<?> type)
type
- the class type of the pojopublic AggregationStrategyBeanAdapter(Object pojo, String methodName)
pojo
- the pojo to use.methodName
- the name of the method to callpublic AggregationStrategyBeanAdapter(Class<?> type, String methodName)
type
- the class type of the pojomethodName
- the name of the method to callpublic CamelContext getCamelContext()
CamelContextAware
CamelContext
getCamelContext
in interface CamelContextAware
public void setCamelContext(CamelContext camelContext)
CamelContextAware
CamelContext
setCamelContext
in interface CamelContextAware
camelContext
- the Camel contextpublic String getMethodName()
public void setMethodName(String methodName)
public boolean isAllowNullOldExchange()
public void setAllowNullOldExchange(boolean allowNullOldExchange)
public boolean isAllowNullNewExchange()
public void setAllowNullNewExchange(boolean allowNullNewExchange)
public Exchange aggregate(Exchange oldExchange, Exchange newExchange)
AggregationStrategy
aggregate
in interface AggregationStrategy
oldExchange
- the oldest exchange (is null on first aggregation as we only have the new exchange)newExchange
- the newest exchange (can be null if there was no data possible to acquire)protected boolean isValidMethod(Method method)
method
- the methodprotected void doStart() throws Exception
ServiceSupport
ServiceSupport.doStop()
for more details.doStart
in class ServiceSupport
Exception
ServiceSupport.doStop()
protected void doStop() throws Exception
ServiceSupport
ServiceSupport.doStop()
method when
the service is being stopped. This method will also be invoked
if the service is still in uninitialized state (eg has not
been started). The method is always called to allow the service
to do custom logic when the service is being stopped, such as when
CamelContext
is shutting down.doStop
in class ServiceSupport
Exception
ServiceSupport.doStart()
Apache Camel