1
2
3
4
5
6
7 package org.mule.config.converters;
8
9 import org.mule.api.MuleContext;
10 import org.mule.api.expression.PropertyConverter;
11 import org.mule.api.transformer.Transformer;
12
13 import java.util.LinkedList;
14 import java.util.List;
15 import java.util.StringTokenizer;
16
17
18
19
20 public class TransformerConverter implements PropertyConverter
21 {
22 public static final String DELIM = ",";
23
24 public Object convert(String property, MuleContext context)
25 {
26 if (null != property)
27 {
28 List<Transformer> transformers = new LinkedList<Transformer>();
29 StringTokenizer st = new StringTokenizer(property, DELIM);
30 while (st.hasMoreTokens())
31 {
32 String key = st.nextToken().trim();
33 Transformer transformer = context.getRegistry().lookupTransformer(key);
34
35 if (transformer == null)
36 {
37 throw new IllegalArgumentException(key);
38 }
39 transformers.add(transformer);
40 }
41 return transformers;
42 }
43 else
44 {
45 return null;
46 }
47
48 }
49
50 public Class getType()
51 {
52 return TransformerList.class;
53 }
54 }