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