]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/IndentingXMLStreamWriter.java
Handling ComplexTypes defined with SimpleContent
[simantics/interop.git] / org.simantics.xml.sax.base / src / org / simantics / xml / sax / base / IndentingXMLStreamWriter.java
1 package org.simantics.xml.sax.base;\r
2 \r
3 import javax.xml.namespace.NamespaceContext;\r
4 import javax.xml.stream.XMLStreamException;\r
5 import javax.xml.stream.XMLStreamWriter;\r
6 \r
7 /**\r
8  * Rather dummy indenting XML Stream Writer.\r
9  * \r
10  * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
11  *\r
12  */\r
13 public class IndentingXMLStreamWriter implements XMLStreamWriter{\r
14         \r
15         XMLStreamWriter delegate;\r
16         int depth = 0;\r
17         \r
18         public IndentingXMLStreamWriter(XMLStreamWriter delegate) {\r
19                 this.delegate = delegate;\r
20         }\r
21         \r
22         @Override\r
23         public void close() throws XMLStreamException {\r
24                 delegate.close();\r
25         }\r
26         \r
27         @Override\r
28         public void flush() throws XMLStreamException {\r
29                 delegate.close();\r
30         }\r
31         \r
32         @Override\r
33         public NamespaceContext getNamespaceContext() {\r
34                 return delegate.getNamespaceContext();\r
35         }\r
36         \r
37         @Override\r
38         public String getPrefix(String uri) throws XMLStreamException {\r
39                 return delegate.getPrefix(uri);\r
40         }\r
41         \r
42         @Override\r
43         public Object getProperty(String name) throws IllegalArgumentException {\r
44                 return delegate.getProperty(name);\r
45         }\r
46         \r
47         @Override\r
48         public void setDefaultNamespace(String uri) throws XMLStreamException {\r
49                 delegate.setDefaultNamespace(uri);\r
50         }\r
51         \r
52         @Override\r
53         public void setPrefix(String prefix, String uri) throws XMLStreamException {\r
54                 delegate.setPrefix(prefix, uri);\r
55         }\r
56         \r
57         private String getIdent() {\r
58                 String s = "";\r
59                 for (int i = 0; i < depth; i++)\r
60                         s += "  ";\r
61                 return s;\r
62         }\r
63 \r
64         @Override\r
65         public void writeStartElement(String localName) throws XMLStreamException {\r
66                 delegate.writeCharacters("\n"+getIdent());\r
67                 delegate.writeStartElement(localName);\r
68                 depth++;\r
69         }\r
70 \r
71         @Override\r
72         public void writeStartElement(String namespaceURI, String localName) throws XMLStreamException {\r
73                 delegate.writeCharacters("\n"+getIdent());\r
74                 delegate.writeStartElement(namespaceURI, localName);\r
75                 depth++;\r
76         }\r
77 \r
78         @Override\r
79         public void writeStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException {\r
80                 delegate.writeCharacters("\n"+getIdent());\r
81                 delegate.writeStartElement(prefix, localName, namespaceURI);\r
82                 depth++;\r
83         }\r
84 \r
85         @Override\r
86         public void writeStartDocument() throws XMLStreamException {\r
87                 delegate.writeStartDocument();\r
88                 depth++;\r
89         }\r
90 \r
91         @Override\r
92         public void writeStartDocument(String version) throws XMLStreamException {\r
93                 delegate.writeStartDocument(version);\r
94                 depth++;\r
95         }\r
96 \r
97         @Override\r
98         public void writeStartDocument(String encoding, String version) throws XMLStreamException {\r
99                 delegate.writeStartDocument(encoding, version);\r
100                 depth++;\r
101         }\r
102 \r
103         @Override\r
104         public void writeEndElement() throws XMLStreamException {\r
105                 depth--;\r
106                 delegate.writeCharacters("\n"+getIdent());\r
107                 delegate.writeEndElement();\r
108         }\r
109         \r
110         @Override\r
111         public void writeEndDocument() throws XMLStreamException {\r
112                 depth--;\r
113                 delegate.writeCharacters("\n"+getIdent());\r
114                 delegate.writeEndDocument();\r
115         }\r
116         \r
117         @Override\r
118         public void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException {\r
119                 delegate.writeEmptyElement(namespaceURI, localName);\r
120         }\r
121 \r
122         @Override\r
123         public void writeEmptyElement(String prefix, String localName, String namespaceURI) throws XMLStreamException {\r
124                 delegate.writeEmptyElement(prefix, localName, namespaceURI);\r
125         }\r
126 \r
127         @Override\r
128         public void writeEmptyElement(String localName) throws XMLStreamException {\r
129                 delegate.writeEmptyElement(localName);\r
130         }\r
131 \r
132         @Override\r
133         public void writeAttribute(String localName, String value) throws XMLStreamException {\r
134                 delegate.writeAttribute( localName, value);\r
135                 \r
136         }\r
137 \r
138         @Override\r
139         public void writeAttribute(String prefix, String namespaceURI, String localName, String value)\r
140                         throws XMLStreamException {\r
141                 delegate.writeAttribute(prefix, namespaceURI, localName, value);\r
142         }\r
143 \r
144         @Override\r
145         public void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException {\r
146                 delegate.writeAttribute(namespaceURI, localName, value);\r
147         }\r
148 \r
149         @Override\r
150         public void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException {\r
151                 delegate.writeNamespace(prefix, namespaceURI);  \r
152         }\r
153 \r
154         @Override\r
155         public void writeDefaultNamespace(String namespaceURI) throws XMLStreamException {\r
156                 delegate.writeDefaultNamespace(namespaceURI);\r
157         }\r
158 \r
159         @Override\r
160         public void writeComment(String data) throws XMLStreamException {\r
161                 delegate.writeComment(data);\r
162                 \r
163         }\r
164 \r
165         @Override\r
166         public void writeProcessingInstruction(String target) throws XMLStreamException {\r
167                 delegate.writeProcessingInstruction(target);\r
168         }\r
169 \r
170         @Override\r
171         public void writeProcessingInstruction(String target, String data) throws XMLStreamException {\r
172                 delegate.writeProcessingInstruction(target, data);\r
173         }\r
174 \r
175         @Override\r
176         public void writeCData(String data) throws XMLStreamException {\r
177                 delegate.writeCData(data);\r
178         }\r
179 \r
180         @Override\r
181         public void writeDTD(String dtd) throws XMLStreamException {\r
182                 delegate.writeDTD(dtd); \r
183         }\r
184 \r
185         @Override\r
186         public void writeEntityRef(String name) throws XMLStreamException {\r
187                 delegate.writeEntityRef(name);\r
188         }\r
189 \r
190         \r
191 \r
192         @Override\r
193         public void writeCharacters(String text) throws XMLStreamException {\r
194                 delegate.writeCharacters(text);\r
195         }\r
196 \r
197         @Override\r
198         public void writeCharacters(char[] text, int start, int len) throws XMLStreamException {\r
199                 delegate.writeCharacters(text, start, len);\r
200         }\r
201 \r
202         @Override\r
203         public void setNamespaceContext(NamespaceContext context) throws XMLStreamException {\r
204                 delegate.setNamespaceContext(context);\r
205         }\r
206         \r
207 \r
208 }\r