From 74b27b64774a3fef2d2bb53bc48a54776cd71bde Mon Sep 17 00:00:00 2001 From: green Date: Wed, 11 Jul 2001 03:59:16 +0000 Subject: Add some org packages. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@43922 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/org/xml/sax/helpers/ParserFactory.java | 129 +++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 libjava/org/xml/sax/helpers/ParserFactory.java (limited to 'libjava/org/xml/sax/helpers/ParserFactory.java') diff --git a/libjava/org/xml/sax/helpers/ParserFactory.java b/libjava/org/xml/sax/helpers/ParserFactory.java new file mode 100644 index 00000000000..9ca7b55002f --- /dev/null +++ b/libjava/org/xml/sax/helpers/ParserFactory.java @@ -0,0 +1,129 @@ +// SAX parser factory. +// No warranty; no copyright -- use this as you will. +// $Id: ParserFactory.java,v 1.1 2000/10/02 02:43:20 sboag Exp $ + +package org.xml.sax.helpers; + +import java.lang.ClassNotFoundException; +import java.lang.IllegalAccessException; +import java.lang.InstantiationException; +import java.lang.SecurityException; +import java.lang.ClassCastException; + +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. + *
+ * + *

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, + * sax@megginson.com + * @version 2.0 + * @see org.xml.sax.Parser + * @see java.lang.Class + */ +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 = System.getProperty("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)(Class.forName(className).newInstance()); + } + +} + +// end of ParserFactory.java -- cgit v1.2.3