bodewig 2003/11/28 04:36:34
Modified: src/main/org/apache/tools/ant/util Tag: ANT_16_BRANCH
JAXPUtils.java
Log:
Merge into 1.6
Revision Changes Path
No revision
No revision
1.9.2.1 +42 -0 ant/src/main/org/apache/tools/ant/util/JAXPUtils.java
Index: JAXPUtils.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/util/JAXPUtils.java,v
retrieving revision 1.9
retrieving revision 1.9.2.1
diff -u -r1.9 -r1.9.2.1
--- JAXPUtils.java 21 Sep 2003 20:20:03 -0000 1.9
+++ JAXPUtils.java 28 Nov 2003 12:36:34 -0000 1.9.2.1
@@ -54,6 +54,8 @@
package org.apache.tools.ant.util;
import java.io.File;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
@@ -97,6 +99,12 @@
*/
private static SAXParserFactory nsParserFactory = null;
+ /**
+ * Parser factory to use to create document builders.
+ *
+ * @since Ant 1.6
+ */
+ private static DocumentBuilderFactory builderFactory = null;
/**
* Returns the parser factory to use. Only one parser factory is
@@ -210,6 +218,20 @@
}
/**
+ * Returns a newly created DocumentBuilder.
+ *
+ * @return a DocumentBuilder
+ * @since Ant 1.6
+ */
+ public static DocumentBuilder getDocumentBuilder() throws BuildException
{
+ try {
+ return getDocumentBuilderFactory().newDocumentBuilder();
+ } catch (ParserConfigurationException e) {
+ throw new BuildException(e);
+ }
+ }
+
+ /**
* @return a new SAXParser instance as helper for getParser and
* getXMLReader.
*
@@ -239,6 +261,26 @@
} else {
return new BuildException(e);
}
+ }
+
+ /**
+ * Obtains the default builder factory if not already.
+ *
+ * @since Ant 1.6
+ */
+ private static synchronized
+ DocumentBuilderFactory getDocumentBuilderFactory()
+ throws BuildException {
+ if (builderFactory == null) {
+ try {
+ builderFactory = DocumentBuilderFactory.newInstance();
+ } catch (FactoryConfigurationError e) {
+ throw new BuildException("Document builder factory has not "
+ + "been configured correctly: "
+ + e.getMessage(), e);
+ }
+ }
+ return builderFactory;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]