org.apache.camel.processor.aggregate
Class AggregationStrategyBeanAdapter

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter
All Implemented Interfaces:
CamelContextAware, AggregationStrategy, Service, ShutdownableService, StatefulService, SuspendableService

public final class AggregationStrategyBeanAdapter
extends ServiceSupport
implements AggregationStrategy, CamelContextAware

An 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.


Field Summary
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
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.
 
Method Summary
 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)
           
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, doShutdown, doSuspend, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AggregationStrategyBeanAdapter

public AggregationStrategyBeanAdapter(Object pojo)
Creates this adapter.

Parameters:
pojo - the pojo to use.

AggregationStrategyBeanAdapter

public AggregationStrategyBeanAdapter(Class<?> type)
Creates this adapter.

Parameters:
type - the class type of the pojo

AggregationStrategyBeanAdapter

public AggregationStrategyBeanAdapter(Object pojo,
                                      String methodName)
Creates this adapter.

Parameters:
pojo - the pojo to use.
methodName - the name of the method to call

AggregationStrategyBeanAdapter

public AggregationStrategyBeanAdapter(Class<?> type,
                                      String methodName)
Creates this adapter.

Parameters:
type - the class type of the pojo
methodName - the name of the method to call
Method Detail

getCamelContext

public CamelContext getCamelContext()
Description copied from interface: CamelContextAware
Get the CamelContext

Specified by:
getCamelContext in interface CamelContextAware
Returns:
camelContext the Camel context

setCamelContext

public void setCamelContext(CamelContext camelContext)
Description copied from interface: CamelContextAware
Injects the CamelContext

Specified by:
setCamelContext in interface CamelContextAware
Parameters:
camelContext - the Camel context

getMethodName

public String getMethodName()

setMethodName

public void setMethodName(String methodName)

isAllowNullOldExchange

public boolean isAllowNullOldExchange()

setAllowNullOldExchange

public void setAllowNullOldExchange(boolean allowNullOldExchange)

isAllowNullNewExchange

public boolean isAllowNullNewExchange()

setAllowNullNewExchange

public void setAllowNullNewExchange(boolean allowNullNewExchange)

aggregate

public Exchange aggregate(Exchange oldExchange,
                          Exchange newExchange)
Description copied from interface: AggregationStrategy
Aggregates an old and new exchange together to create a single combined exchange

Specified by:
aggregate in interface AggregationStrategy
Parameters:
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)
Returns:
a combined composite of the two exchanges

isValidMethod

protected boolean isValidMethod(Method method)
Validates whether the given method is valid.

Parameters:
method - the method
Returns:
true if valid, false to skip the method

doStart

protected void doStart()
                throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized start/stop.

Important: See ServiceSupport.doStop() for more details.

Specified by:
doStart in class ServiceSupport
Throws:
Exception
See Also:
ServiceSupport.doStop()

doStop

protected void doStop()
               throws Exception
Description copied from class: ServiceSupport
Implementations override this method to support customized start/stop.

Important: Camel will invoke this 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.

Specified by:
doStop in class ServiceSupport
Throws:
Exception
See Also:
ServiceSupport.doStart()


Apache Camel