1
2
3
4
5
6
7 package org.mule.transport.file.transformers;
8
9 import org.mule.api.transformer.TransformerException;
10 import org.mule.transformer.types.DataTypeFactory;
11
12 import java.io.File;
13 import java.io.UnsupportedEncodingException;
14
15
16
17
18 public class FileToString extends FileToByteArray
19 {
20
21 public FileToString()
22 {
23 registerSourceType(DataTypeFactory.create(File.class));
24 registerSourceType(DataTypeFactory.INPUT_STREAM);
25 registerSourceType(DataTypeFactory.BYTE_ARRAY);
26 setReturnDataType(DataTypeFactory.STRING);
27 }
28
29
30
31
32
33
34
35
36
37 @Override
38 public Object doTransform(Object src, String encoding) throws TransformerException
39 {
40 byte[] bytes;
41
42 if (src instanceof byte[])
43 {
44 bytes = (byte[])src;
45 }
46 else
47 {
48 bytes = (byte[]) super.doTransform(src, encoding);
49 }
50
51 try
52 {
53 return new String(bytes, encoding);
54 }
55 catch (UnsupportedEncodingException uee)
56 {
57 throw new TransformerException(this, uee);
58 }
59 }
60
61 }