KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > editor2d > iofilter > XStreamFilter


1 /**
2  * <p> Project: com.nightlabs.editor2d.model </p>
3  * <p> Copyright: Copyright (c) 2005 </p>
4  * <p> Company: NightLabs GmbH (Germany) </p>
5  * <p> Creation Date: 29.06.2005 </p>
6  * <p> Author: Daniel Mazurek </p>
7 **/

8 package com.nightlabs.editor2d.iofilter;
9
10 import java.io.BufferedInputStream JavaDoc;
11 import java.io.BufferedOutputStream JavaDoc;
12 import java.io.InputStream JavaDoc;
13 import java.io.InputStreamReader JavaDoc;
14 import java.io.OutputStream JavaDoc;
15 import java.io.OutputStreamWriter JavaDoc;
16
17 import com.nightlabs.io.IOFilter;
18 import com.nightlabs.io.ReadException;
19 import com.nightlabs.io.WriteException;
20 import com.thoughtworks.xstream.XStream;
21 import com.thoughtworks.xstream.io.xml.XppDriver;
22
23 public class XStreamFilter
24 implements IOFilter
25 {
26     public static final String JavaDoc FILE_EXTENSION = "xsm";
27     
28     public Object JavaDoc read(InputStream JavaDoc in)
29     throws ReadException
30     {
31 // XStream xstream = new XStream(new DomDriver());
32
XStream xstream = new XStream(new XppDriver());
33         InputStreamReader JavaDoc reader = new InputStreamReader JavaDoc(new BufferedInputStream JavaDoc(in));
34         registerConverter(xstream);
35         Object JavaDoc o = xstream.fromXML(reader);
36         return o;
37     }
38
39     protected void registerConverter(XStream xstream)
40     {
41 // xstream.registerConverter(new EObjectConverter());
42
// xstream.registerConverter(new AdapterConverter());
43
// xstream.registerConverter(new InternalObjectConverter());
44
// xstream.registerConverter(new EAnnotationConverter());
45
// xstream.registerConverter(new EClassAdapter());
46
// xstream.registerConverter(new EReferenceAdapter());
47
}
48     
49     public void write(Object JavaDoc o, OutputStream JavaDoc out)
50     throws WriteException
51     {
52 // XStream xstream = new XStream(new DomDriver());
53
XStream xstream = new XStream(new XppDriver());
54         OutputStreamWriter JavaDoc writer = new OutputStreamWriter JavaDoc(new BufferedOutputStream JavaDoc(out));
55         registerConverter(xstream);
56         xstream.toXML(o, writer);
57     }
58
59     public String JavaDoc getFileExtension()
60     {
61         return FILE_EXTENSION;
62     }
63
64     public String JavaDoc getDescription()
65     {
66         return "XStream Description";
67     }
68 }
69
Popular Tags