package com.jclark.xml.output; import java.io.IOException; public class SyncXMLWriter extends XMLWriter { private XMLWriter w; public SyncXMLWriter(XMLWriter w) { super(w); this.w = w; } public void write(char cbuf[], int off, int len) throws IOException { synchronized (lock) { w.write(cbuf, off, len); } } public void write(String str) throws IOException { synchronized (lock) { w.write(str); } } public void write(int c) throws IOException { synchronized (lock) { w.write(c); } } public void write(String str, int off, int len) throws IOException { synchronized (lock) { w.write(str, off, len); } } public void close() throws IOException { synchronized (lock) { w.close(); } } public void flush() throws IOException { synchronized (lock) { w.flush(); } } public void startElement(String name) throws IOException { synchronized (lock) { w.startElement(name); } } public void attribute(String name, String value) throws IOException { synchronized (lock) { w.attribute(name, value); } } public void endElement(String name) throws IOException { synchronized (lock) { w.endElement(name); } } public void processingInstruction(String target, String data) throws IOException { synchronized (lock) { w.processingInstruction(target, data); } } public void comment(String str) throws IOException { synchronized (lock) { w.comment(str); } } public void entityReference(boolean isParam, String name) throws IOException { synchronized (lock) { w.entityReference(isParam, name); } } public void characterReference(int n) throws IOException { synchronized (lock) { w.characterReference(n); } } public void cdataSection(String content) throws IOException { synchronized (lock) { w.cdataSection(content); } } public void markup(String str) throws IOException { synchronized (lock) { w.markup(str); } } public void startReplacementText() throws IOException { synchronized (lock) { w.startReplacementText(); } } public void endReplacementText() throws IOException { synchronized (lock) { w.endReplacementText(); } } public void startAttribute(String name) throws IOException { synchronized (lock) { w.startAttribute(name); } } public void endAttribute() throws IOException { synchronized (lock) { w.endAttribute(); } } }