Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
AbstractDynamicMessageProcessor |
|
| 0.0;0 |
1 | /* | |
2 | * Copyright (c) MuleSoft, Inc. All rights reserved. http://www.mulesoft.com | |
3 | * The software in this package is published under the terms of the CPAL v1.0 | |
4 | * license, a copy of which has been included with this distribution in the | |
5 | * LICENSE.txt file. | |
6 | */ | |
7 | package org.mule.processor; | |
8 | ||
9 | import org.mule.api.MuleEvent; | |
10 | import org.mule.api.MuleException; | |
11 | import org.mule.api.processor.MessageProcessor; | |
12 | import org.mule.util.ObjectUtils; | |
13 | ||
14 | /** | |
15 | * Implementation of {@link MessageProcessor} that dynamically chooses and uses | |
16 | * another {@link MessageProcessor} | |
17 | */ | |
18 | 0 | public abstract class AbstractDynamicMessageProcessor implements MessageProcessor |
19 | { | |
20 | public MuleEvent process(MuleEvent event) throws MuleException | |
21 | { | |
22 | 0 | return resolveMessageProcessor(event).process(event); |
23 | } | |
24 | ||
25 | /** | |
26 | * Determines which MessageProcessor should be used. Implementations may choose | |
27 | * to use a message property, configure this | |
28 | */ | |
29 | protected abstract MessageProcessor resolveMessageProcessor(MuleEvent event) throws MuleException; | |
30 | ||
31 | @Override | |
32 | public String toString() | |
33 | { | |
34 | 0 | return ObjectUtils.toString(this); |
35 | } | |
36 | } |