1
2
3
4
5
6
7 package org.mule.transformer.simple;
8
9 import org.mule.api.transformer.DiscoverableTransformer;
10 import org.mule.api.transformer.TransformerException;
11 import org.mule.transformer.AbstractTransformer;
12 import org.mule.transformer.types.DataTypeFactory;
13 import org.mule.util.StringUtils;
14
15
16
17
18
19
20
21 public class ObjectArrayToString extends AbstractTransformer implements DiscoverableTransformer
22 {
23
24 private int priorityWeighting = DiscoverableTransformer.DEFAULT_PRIORITY_WEIGHTING + 1;
25
26 private static final String DEFAULT_DELIMITER = " ";
27
28 private String delimiter = null;
29
30 public ObjectArrayToString()
31 {
32 registerSourceType(DataTypeFactory.create(Object[].class));
33 setReturnDataType(DataTypeFactory.TEXT_STRING);
34 }
35
36 @Override
37 public Object doTransform(Object src, String encoding) throws TransformerException
38 {
39 if (src == null)
40 {
41 return src;
42 }
43
44 Object[] in = (Object[]) src;
45 String out = StringUtils.join(in, getDelimiter());
46
47
48
49
50
51
52
53
54
55
56
57
58 return out;
59 }
60
61 public String getDelimiter()
62 {
63 if (delimiter == null)
64 {
65 return DEFAULT_DELIMITER;
66 }
67 else
68 {
69 return delimiter;
70 }
71 }
72
73 public void setDelimiter(String delimiter)
74 {
75 this.delimiter = delimiter;
76 }
77
78 public int getPriorityWeighting()
79 {
80 return priorityWeighting;
81 }
82
83 public void setPriorityWeighting(int priorityWeighting)
84 {
85 this.priorityWeighting = priorityWeighting;
86 }
87 }