1 package org.codehaus.xfire.message;
2
3 import java.util.Calendar;
4 import java.util.Date;
5
6 import javax.xml.namespace.QName;
7 import javax.xml.stream.XMLStreamWriter;
8
9 /***
10 * Writes messages to an output stream.
11 *
12 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
13 */
14 public interface MessageWriter
15 {
16 void writeValue( Object value );
17
18 void writeValue( Object value, String ns, String attr );
19
20 void writeValueAsCalendar( Calendar calendar );
21
22 void writeValueAsCalendar( Calendar calendar, String ns, String attr );
23
24 void writeValueAsDate( Date date );
25
26 void writeValueAsDate( Date date, String ns, String attr );
27
28 void writeValueAsDateTime( Date date );
29
30 void writeValueAsDateTime( Date date, String ns, String attr );
31
32
33 void writeValueAsInt( Integer i );
34
35 void writeValueAsInt( Integer i, String ns, String attr );
36
37 void writeValueAsDouble(Double double1);
38
39 void writeValueAsDouble(Double double1, String ns, String attr);
40
41 void writeValueAsLong(Long l);
42
43 void writeValueAsLong(Long l, String ns, String attr);
44
45 void writeValueAsFloat(Float f);
46
47 void writeValueAsFloat(Float f, String ns, String attr);
48
49 MessageWriter getChildWriter(String name);
50
51 MessageWriter getChildWriter(String name, String namespace);
52
53 MessageWriter getChildWriter(QName qname);
54
55 String getNamespace();
56
57 void setNamespace( String namespace );
58
59 /***
60 * @param b
61 */
62 void writeValueAsBoolean(boolean b);
63
64 /***
65 * Tells the MessageWriter that writing operations are completed so
66 * it can write the end element.
67 */
68 void close();
69
70 XMLStreamWriter getXMLStreamWriter();
71 }