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