1
2
3
4
5
6
7
8
9
10
11 package org.mule.transformers.xml;
12
13 import org.mule.umo.UMOEventContext;
14 import org.mule.umo.transformer.TransformerException;
15
16 import java.io.ByteArrayInputStream;
17
18
19
20
21
22
23
24
25
26
27
28 public class XmlToObject extends AbstractXStreamTransformer
29 {
30
31 private final DomDocumentToXml domTransformer = new DomDocumentToXml();
32
33 public XmlToObject()
34 {
35 registerSourceType(String.class);
36 registerSourceType(byte[].class);
37 registerSourceType(org.w3c.dom.Document.class);
38 registerSourceType(org.dom4j.Document.class);
39 }
40
41 public Object transform(Object src, String encoding, UMOEventContext context) throws TransformerException
42 {
43 if (src instanceof byte[])
44 {
45 return getXStream().fromXML(new ByteArrayInputStream((byte[]) src));
46 }
47 else if (src instanceof String)
48 {
49 return getXStream().fromXML(src.toString());
50 }
51 else
52 {
53 return getXStream().fromXML((String) domTransformer.transform(src));
54 }
55 }
56
57 }