1
2
3
4
5
6
7
8
9
10
11 package org.mule.routing;
12
13 import org.mule.api.MuleContext;
14 import org.mule.api.MuleEvent;
15 import org.mule.routing.correlation.CollectionCorrelatorCallback;
16 import org.mule.routing.correlation.EventCorrelatorCallback;
17
18
19
20
21
22
23 public abstract class AbstractCorrelationAggregator extends AbstractAggregator
24 {
25
26 @Override
27 protected EventCorrelatorCallback getCorrelatorCallback(MuleContext muleContext)
28 {
29 return new DelegateCorrelatorCallback(muleContext);
30 }
31
32 protected abstract MuleEvent aggregateEvents(EventGroup events) throws AggregationException;
33
34 private class DelegateCorrelatorCallback extends CollectionCorrelatorCallback
35 {
36 public DelegateCorrelatorCallback(MuleContext muleContext)
37 {
38 super(muleContext, persistentStores, storePrefix);
39 }
40
41 @Override
42 public MuleEvent aggregateEvents(EventGroup events) throws AggregationException
43 {
44 return AbstractCorrelationAggregator.this.aggregateEvents(events);
45 }
46 }
47
48 }