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