1
2
3
4
5
6
7 package org.mule.routing;
8
9 import java.util.Collection;
10 import java.util.Collections;
11
12 import org.mule.api.MuleEvent;
13 import org.mule.api.processor.MessageProcessor;
14 import org.mule.api.routing.RoutePathNotFoundException;
15 import org.mule.api.routing.filter.Filter;
16
17
18
19
20
21
22
23
24 public class ChoiceRouter extends AbstractSelectiveRouter
25 {
26 @Override
27 protected Collection<MessageProcessor> selectProcessors(MuleEvent event)
28 {
29 for (MessageProcessorFilterPair mpfp : getConditionalMessageProcessors())
30 {
31 if (mpfp.getFilter().accept(event.getMessage()))
32 {
33 return Collections.singleton(mpfp.getMessageProcessor());
34 }
35 }
36
37 return Collections.emptySet();
38 }
39 }