X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.xml.sax.base%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fsax%2Fbase%2FIndentingXMLStreamWriter.java;fp=org.simantics.xml.sax.base%2Fsrc%2Forg%2Fsimantics%2Fxml%2Fsax%2Fbase%2FIndentingXMLStreamWriter.java;h=a912564e87b162e3daa5dfbd33af32765c19ea87;hb=28cdb08c2dcc6b306d8a0cbea8c0bd791e42d583;hp=0000000000000000000000000000000000000000;hpb=dd3b2c7ecd5f4b60734f2602b16637aa8be2a263;p=simantics%2Finterop.git diff --git a/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/IndentingXMLStreamWriter.java b/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/IndentingXMLStreamWriter.java new file mode 100644 index 0000000..a912564 --- /dev/null +++ b/org.simantics.xml.sax.base/src/org/simantics/xml/sax/base/IndentingXMLStreamWriter.java @@ -0,0 +1,208 @@ +package org.simantics.xml.sax.base; + +import javax.xml.namespace.NamespaceContext; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.XMLStreamWriter; + +/** + * Rather dummy indenting XML Stream Writer. + * + * @author Marko Luukkainen + * + */ +public class IndentingXMLStreamWriter implements XMLStreamWriter{ + + XMLStreamWriter delegate; + int depth = 0; + + public IndentingXMLStreamWriter(XMLStreamWriter delegate) { + this.delegate = delegate; + } + + @Override + public void close() throws XMLStreamException { + delegate.close(); + } + + @Override + public void flush() throws XMLStreamException { + delegate.close(); + } + + @Override + public NamespaceContext getNamespaceContext() { + return delegate.getNamespaceContext(); + } + + @Override + public String getPrefix(String uri) throws XMLStreamException { + return delegate.getPrefix(uri); + } + + @Override + public Object getProperty(String name) throws IllegalArgumentException { + return delegate.getProperty(name); + } + + @Override + public void setDefaultNamespace(String uri) throws XMLStreamException { + delegate.setDefaultNamespace(uri); + } + + @Override + public void setPrefix(String prefix, String uri) throws XMLStreamException { + delegate.setPrefix(prefix, uri); + } + + private String getIdent() { + String s = ""; + for (int i = 0; i < depth; i++) + s += " "; + return s; + } + + @Override + public void writeStartElement(String localName) throws XMLStreamException { + delegate.writeCharacters("\n"+getIdent()); + delegate.writeStartElement(localName); + depth++; + } + + @Override + public void writeStartElement(String namespaceURI, String localName) throws XMLStreamException { + delegate.writeCharacters("\n"+getIdent()); + delegate.writeStartElement(namespaceURI, localName); + depth++; + } + + @Override + public void writeStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException { + delegate.writeCharacters("\n"+getIdent()); + delegate.writeStartElement(prefix, localName, namespaceURI); + depth++; + } + + @Override + public void writeStartDocument() throws XMLStreamException { + delegate.writeStartDocument(); + depth++; + } + + @Override + public void writeStartDocument(String version) throws XMLStreamException { + delegate.writeStartDocument(version); + depth++; + } + + @Override + public void writeStartDocument(String encoding, String version) throws XMLStreamException { + delegate.writeStartDocument(encoding, version); + depth++; + } + + @Override + public void writeEndElement() throws XMLStreamException { + depth--; + delegate.writeCharacters("\n"+getIdent()); + delegate.writeEndElement(); + } + + @Override + public void writeEndDocument() throws XMLStreamException { + depth--; + delegate.writeCharacters("\n"+getIdent()); + delegate.writeEndDocument(); + } + + @Override + public void writeEmptyElement(String namespaceURI, String localName) throws XMLStreamException { + delegate.writeEmptyElement(namespaceURI, localName); + } + + @Override + public void writeEmptyElement(String prefix, String localName, String namespaceURI) throws XMLStreamException { + delegate.writeEmptyElement(prefix, localName, namespaceURI); + } + + @Override + public void writeEmptyElement(String localName) throws XMLStreamException { + delegate.writeEmptyElement(localName); + } + + @Override + public void writeAttribute(String localName, String value) throws XMLStreamException { + delegate.writeAttribute( localName, value); + + } + + @Override + public void writeAttribute(String prefix, String namespaceURI, String localName, String value) + throws XMLStreamException { + delegate.writeAttribute(prefix, namespaceURI, localName, value); + } + + @Override + public void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException { + delegate.writeAttribute(namespaceURI, localName, value); + } + + @Override + public void writeNamespace(String prefix, String namespaceURI) throws XMLStreamException { + delegate.writeNamespace(prefix, namespaceURI); + } + + @Override + public void writeDefaultNamespace(String namespaceURI) throws XMLStreamException { + delegate.writeDefaultNamespace(namespaceURI); + } + + @Override + public void writeComment(String data) throws XMLStreamException { + delegate.writeComment(data); + + } + + @Override + public void writeProcessingInstruction(String target) throws XMLStreamException { + delegate.writeProcessingInstruction(target); + } + + @Override + public void writeProcessingInstruction(String target, String data) throws XMLStreamException { + delegate.writeProcessingInstruction(target, data); + } + + @Override + public void writeCData(String data) throws XMLStreamException { + delegate.writeCData(data); + } + + @Override + public void writeDTD(String dtd) throws XMLStreamException { + delegate.writeDTD(dtd); + } + + @Override + public void writeEntityRef(String name) throws XMLStreamException { + delegate.writeEntityRef(name); + } + + + + @Override + public void writeCharacters(String text) throws XMLStreamException { + delegate.writeCharacters(text); + } + + @Override + public void writeCharacters(char[] text, int start, int len) throws XMLStreamException { + delegate.writeCharacters(text, start, len); + } + + @Override + public void setNamespaceContext(NamespaceContext context) throws XMLStreamException { + delegate.setNamespaceContext(context); + } + + +}