1
2
3
4
5
6
7 package org.mule.example.scripting;
8
9
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.NumberUtils;
14
15
16
17
18 public class StringToNumber extends AbstractTransformer
19 {
20
21 private boolean integer = false;
22
23 public StringToNumber()
24 {
25 registerSourceType(DataTypeFactory.STRING);
26 setReturnDataType(DataTypeFactory.create(Number.class));
27 }
28
29 @Override
30 public Object doTransform(Object src, String outputEncoding) throws TransformerException
31 {
32 if (integer)
33 {
34 return new Integer(NumberUtils.toInt(src));
35 }
36 else
37 {
38 return new Double(NumberUtils.toDouble(src));
39 }
40 }
41
42 public boolean isInteger()
43 {
44 return integer;
45 }
46
47 public void setInteger(boolean integer)
48 {
49 this.integer = integer;
50 }
51 }