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

org.xml.sax.helpers.ParserFactory Maven / Gradle / Ivy

Go to download

A slightly adapted version of Xerces 2.11.0 to allow the XMLStringBuffer responsible for XML attribute scanning to start larger and thus avoid extended appending times. The initial buffer size is controlled by settting the system property julielab.xerces.attributebuffersize (also available as constant XMLScanner#ATTRIBUTE_BUFFER_SIZE).

There is a newer version: 2.11.0.1
Show newest version
//SAX parser factory.
//http://www.saxproject.org
//No warranty; no copyright -- use this as you will.
//$Id: ParserFactory.java 670295 2008-06-22 01:46:43Z mrglavas $

package org.xml.sax.helpers;

import org.xml.sax.Parser;

/**
 * Java-specific class for dynamically loading SAX parsers.
 *
 * 
* This module, both source code and documentation, is in the * Public Domain, and comes with NO WARRANTY. * See http://www.saxproject.org * for further information. *
* *

Note: This class is designed to work with the now-deprecated * SAX1 {@link org.xml.sax.Parser Parser} class. SAX2 applications should use * {@link org.xml.sax.helpers.XMLReaderFactory XMLReaderFactory} instead.

* *

ParserFactory is not part of the platform-independent definition * of SAX; it is an additional convenience class designed * specifically for Java XML application writers. SAX applications * can use the static methods in this class to allocate a SAX parser * dynamically at run-time based either on the value of the * `org.xml.sax.parser' system property or on a string containing the class * name.

* *

Note that the application still requires an XML parser that * implements SAX1.

* * @deprecated This class works with the deprecated * {@link org.xml.sax.Parser Parser} * interface. * @since SAX 1.0 * @author David Megginson * @version 2.0.1 (sax2r2) */ public class ParserFactory { /** * Private null constructor. */ private ParserFactory () { } /** * Create a new SAX parser using the `org.xml.sax.parser' system property. * *

The named class must exist and must implement the * {@link org.xml.sax.Parser Parser} interface.

* * @exception java.lang.NullPointerException There is no value * for the `org.xml.sax.parser' system property. * @exception java.lang.ClassNotFoundException The SAX parser * class was not found (check your CLASSPATH). * @exception IllegalAccessException The SAX parser class was * found, but you do not have permission to load * it. * @exception InstantiationException The SAX parser class was * found but could not be instantiated. * @exception java.lang.ClassCastException The SAX parser class * was found and instantiated, but does not implement * org.xml.sax.Parser. * @see #makeParser(java.lang.String) * @see org.xml.sax.Parser */ public static Parser makeParser () throws ClassNotFoundException, IllegalAccessException, InstantiationException, NullPointerException, ClassCastException { String className = SecuritySupport.getSystemProperty("org.xml.sax.parser"); if (className == null) { throw new NullPointerException("No value for sax.parser property"); } else { return makeParser(className); } } /** * Create a new SAX parser object using the class name provided. * *

The named class must exist and must implement the * {@link org.xml.sax.Parser Parser} interface.

* * @param className A string containing the name of the * SAX parser class. * @exception java.lang.ClassNotFoundException The SAX parser * class was not found (check your CLASSPATH). * @exception IllegalAccessException The SAX parser class was * found, but you do not have permission to load * it. * @exception InstantiationException The SAX parser class was * found but could not be instantiated. * @exception java.lang.ClassCastException The SAX parser class * was found and instantiated, but does not implement * org.xml.sax.Parser. * @see #makeParser() * @see org.xml.sax.Parser */ public static Parser makeParser (String className) throws ClassNotFoundException, IllegalAccessException, InstantiationException, ClassCastException { return (Parser) NewInstance.newInstance ( NewInstance.getClassLoader (), className); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy