import com.thoughtworks.xstream.io.xml.QNameMap; import com.thoughtworks.xstream.io.xml.StaxDriver; import javanet.staxutils.StaxUtilsXMLOutputFactory; import javax.xml.stream.XMLOutputFactory; public class StaxUtilsDriver extends StaxDriver { public StaxUtilsDriver() { } public StaxUtilsDriver(QNameMap qnameMap) { super(qnameMap); } public StaxUtilsDriver(QNameMap qnameMap, boolean repairingNamespace) { super(qnameMap, repairingNamespace); } @Override protected XMLOutputFactory constructOutputFactory() { XMLOutputFactory factory = new StaxUtilsXMLOutputFactory(super.constructOutputFactory()); factory.setProperty(StaxUtilsXMLOutputFactory.INDENT, isIndenting() ? Boolean.TRUE : Boolean.FALSE); return factory; } private boolean indenting = false; public boolean isIndenting() { return indenting; } public void setIndenting(boolean indenting) { this.indenting = indenting; } }