61 lines
2.3 KiB
Java
61 lines
2.3 KiB
Java
package com.thoughtworks.xstream.io.xml;
|
|
|
|
import com.thoughtworks.xstream.core.util.XmlHeaderAwareReader;
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
|
|
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
|
|
import com.thoughtworks.xstream.io.StreamException;
|
|
import com.thoughtworks.xstream.io.naming.NameCoder;
|
|
import com.thoughtworks.xstream.io.xml.xppdom.XppDom;
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
import java.io.OutputStream;
|
|
import java.io.OutputStreamWriter;
|
|
import java.io.Reader;
|
|
import java.io.UnsupportedEncodingException;
|
|
import java.io.Writer;
|
|
import org.xmlpull.v1.XmlPullParser;
|
|
import org.xmlpull.v1.XmlPullParserException;
|
|
|
|
/* loaded from: classes.dex */
|
|
public abstract class AbstractXppDomDriver extends AbstractXmlDriver {
|
|
public AbstractXppDomDriver(NameCoder nameCoder) {
|
|
super(nameCoder);
|
|
}
|
|
|
|
protected abstract XmlPullParser createParser() throws XmlPullParserException;
|
|
|
|
@Override // com.thoughtworks.xstream.io.HierarchicalStreamDriver
|
|
public HierarchicalStreamReader createReader(Reader reader) {
|
|
try {
|
|
XmlPullParser createParser = createParser();
|
|
createParser.setInput(reader);
|
|
return new XppDomReader(XppDom.build(createParser), getNameCoder());
|
|
} catch (IOException e) {
|
|
throw new StreamException(e);
|
|
} catch (XmlPullParserException e2) {
|
|
throw new StreamException(e2);
|
|
}
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.io.HierarchicalStreamDriver
|
|
public HierarchicalStreamWriter createWriter(Writer writer) {
|
|
return new PrettyPrintWriter(writer, getNameCoder());
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.io.HierarchicalStreamDriver
|
|
public HierarchicalStreamWriter createWriter(OutputStream outputStream) {
|
|
return createWriter(new OutputStreamWriter(outputStream));
|
|
}
|
|
|
|
@Override // com.thoughtworks.xstream.io.HierarchicalStreamDriver
|
|
public HierarchicalStreamReader createReader(InputStream inputStream) {
|
|
try {
|
|
return createReader(new XmlHeaderAwareReader(inputStream));
|
|
} catch (UnsupportedEncodingException e) {
|
|
throw new StreamException(e);
|
|
} catch (IOException e2) {
|
|
throw new StreamException(e2);
|
|
}
|
|
}
|
|
}
|