1
2
3
4
5
6
7
8
9
10
11 package org.mule.providers.stream;
12
13 import org.mule.impl.ThreadSafeAccess;
14 import org.mule.providers.AbstractMessageAdapter;
15 import org.mule.umo.provider.MessageTypeNotSupportedException;
16
17
18
19
20 public class StreamMessageAdapter extends AbstractMessageAdapter
21 {
22
23
24
25 private static final long serialVersionUID = 3094357859680956607L;
26
27
28 private final String message;
29
30 public StreamMessageAdapter(Object message) throws MessageTypeNotSupportedException
31 {
32 if (message instanceof String)
33 {
34 this.message = (String)message;
35 }
36 else
37 {
38 throw new MessageTypeNotSupportedException(message, StreamMessageAdapter.class);
39 }
40 }
41
42 protected StreamMessageAdapter(StreamMessageAdapter template)
43 {
44 super(template);
45 message = template.message;
46 }
47
48
49
50
51
52
53
54
55
56 public String getPayloadAsString(String encoding) throws Exception
57 {
58 return message.toString();
59 }
60
61
62
63
64
65
66
67 public byte[] getPayloadAsBytes() throws Exception
68 {
69 String msg = getPayloadAsString();
70 return msg.getBytes();
71 }
72
73
74
75
76 public Object getPayload()
77 {
78 return message;
79 }
80
81 public ThreadSafeAccess newThreadCopy()
82 {
83 return new StreamMessageAdapter(this);
84 }
85
86 }