package org.simpleframework.xml.stream;
import java.io.InputStream;
import java.io.Reader;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserFactory;
class PullProvider implements Provider {
private final XmlPullParserFactory factory;
public PullProvider() throws Exception {
this.factory = XmlPullParserFactory.newInstance();
this.factory.setNamespaceAware(true);
}
public EventReader provide(InputStream source) throws Exception {
XmlPullParser parser = factory.newPullParser();
if(source != null) {
parser.setInput(source, "UTF-8");
}
return new PullReader(parser);
}
public EventReader provide(Reader source) throws Exception {
XmlPullParser parser = factory.newPullParser();
if(source != null) {
parser.setInput(source);
}
return new PullReader(parser);
}
}