All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.xmlpull.v1.wrapper.XmlPullWrapperFactory Maven / Gradle / Ivy

Go to download

XML Pull parser library developed by Extreme Computing Lab, Indiana University

The newest version!
/* -*-             c-basic-offset: 4; indent-tabs-mode: nil; -*-  //------100-columns-wide------>|*/
// for license please see accompanying LICENSE.txt file (available also at http://www.xmlpull.org/)

package org.xmlpull.v1.wrapper;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;
import org.xmlpull.v1.XmlSerializer;
import org.xmlpull.v1.wrapper.classic.StaticXmlPullParserWrapper;
import org.xmlpull.v1.wrapper.classic.StaticXmlSerializerWrapper;

/**
 * Handy functions that combines XmlPull API into higher level functionality.
 * 

NOTE: returned wrapper object is not multi-thread safe * * @author Aleksander Slominski */ public class XmlPullWrapperFactory { private final static boolean DEBUG = false; //protected ClassLoader classLoader; protected XmlPullParserFactory f; //protected boolean useDynamic; public static XmlPullWrapperFactory newInstance() throws XmlPullParserException { //TODO: make into real pluggable factory service (later ...)? return new XmlPullWrapperFactory(null); } public static XmlPullWrapperFactory newInstance(XmlPullParserFactory factory) throws XmlPullParserException { return new XmlPullWrapperFactory(factory); } public static XmlPullWrapperFactory newInstance (String classNames, Class context) throws XmlPullParserException { XmlPullParserFactory factory = XmlPullParserFactory.newInstance(classNames, context); return new XmlPullWrapperFactory(factory); } // ------------ IMPLEMENTATION protected XmlPullWrapperFactory(XmlPullParserFactory factory) throws XmlPullParserException { if(factory != null) { this.f = factory; } else { this.f = XmlPullParserFactory.newInstance(); } } public XmlPullParserFactory getFactory() throws XmlPullParserException { return f; } public void setFeature(String name, boolean state) throws XmlPullParserException { f.setFeature(name, state); } public boolean getFeature (String name) { return f.getFeature(name); } public void setNamespaceAware(boolean awareness) { f.setNamespaceAware(awareness); } public boolean isNamespaceAware() { return f.isNamespaceAware(); } public void setValidating(boolean validating) { f.setValidating(validating); } public boolean isValidating() { return f.isValidating(); } //public void setUseDynamic(boolean enable) { useDynamic = enable; }; //public boolean getUseDynamic() { return useDynamic; }; public XmlPullParserWrapper newPullParserWrapper() throws XmlPullParserException { XmlPullParser pp = f.newPullParser(); // if(useDynamic) { // return (XmlPullParserWrapper) DynamicXmlPullParserWrapper.newProxy(pp, classLoader); // } else { return new StaticXmlPullParserWrapper(pp); } public XmlPullParserWrapper newPullParserWrapper(XmlPullParser pp) throws XmlPullParserException { return new StaticXmlPullParserWrapper(pp); } public XmlSerializerWrapper newSerializerWrapper() throws XmlPullParserException { XmlSerializer xs = f.newSerializer(); return new StaticXmlSerializerWrapper(xs, this); } public XmlSerializerWrapper newSerializerWrapper(XmlSerializer xs) throws XmlPullParserException { return new StaticXmlSerializerWrapper(xs, this); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy