1 /*
2 * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
77 * <p>Get a new {@code XPathFactory} instance using the default object model,
78 * {@link #DEFAULT_OBJECT_MODEL_URI},
79 * the W3C DOM.</p>
80 *
81 * <p>This method is functionally equivalent to:</p>
82 * <pre>
83 * newInstance(DEFAULT_OBJECT_MODEL_URI)
84 * </pre>
85 *
86 * <p>Since the implementation for the W3C DOM is always available, this method will never fail.</p>
87 *
88 * @return Instance of an {@code XPathFactory}.
89 *
90 * @throws RuntimeException When there is a failure in creating an
91 * {@code XPathFactory} for the default object model.
92 */
93 public static XPathFactory newInstance() {
94
95 try {
96 return newInstance(DEFAULT_OBJECT_MODEL_URI);
97 } catch (XPathFactoryConfigurationException xpathFactoryConfigurationException) {
98 throw new RuntimeException(
99 "XPathFactory#newInstance() failed to create an XPathFactory for the default object model: "
100 + DEFAULT_OBJECT_MODEL_URI
101 + " with the XPathFactoryConfigurationException: "
102 + xpathFactoryConfigurationException.toString()
103 );
104 }
105 }
106
107 /**
108 * <p>Get a new {@code XPathFactory} instance using the specified object model.</p>
109 *
110 * <p>To find a {@code XPathFactory} object,
111 * this method looks the following places in the following order where "the class loader" refers to the context class loader:</p>
112 * <ol>
113 * <li>
114 * <p>
115 * If the system property {@link #DEFAULT_PROPERTY_NAME} + ":uri" is present,
116 * where uri is the parameter to this method, then its value is read as a class name.
117 * The method will try to create a new instance of this class by using the class loader,
118 * and returns it if it is successfully created.
119 * </li>
120 * <li>
121 * <p>
122 * Use the configuration file "jaxp.properties". The file is in standard
|
1 /*
2 * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
77 * <p>Get a new {@code XPathFactory} instance using the default object model,
78 * {@link #DEFAULT_OBJECT_MODEL_URI},
79 * the W3C DOM.</p>
80 *
81 * <p>This method is functionally equivalent to:</p>
82 * <pre>
83 * newInstance(DEFAULT_OBJECT_MODEL_URI)
84 * </pre>
85 *
86 * <p>Since the implementation for the W3C DOM is always available, this method will never fail.</p>
87 *
88 * @return Instance of an {@code XPathFactory}.
89 *
90 * @throws RuntimeException When there is a failure in creating an
91 * {@code XPathFactory} for the default object model.
92 */
93 public static XPathFactory newInstance() {
94
95 try {
96 return newInstance(DEFAULT_OBJECT_MODEL_URI);
97 } catch (XPathFactoryConfigurationException e) {
98 throw new RuntimeException(
99 "XPathFactory#newInstance() failed to create an XPathFactory for the default object model: "
100 + DEFAULT_OBJECT_MODEL_URI
101 + " with the XPathFactoryConfigurationException: "
102 + e.getMessage(), e
103 );
104 }
105 }
106
107 /**
108 * <p>Get a new {@code XPathFactory} instance using the specified object model.</p>
109 *
110 * <p>To find a {@code XPathFactory} object,
111 * this method looks the following places in the following order where "the class loader" refers to the context class loader:</p>
112 * <ol>
113 * <li>
114 * <p>
115 * If the system property {@link #DEFAULT_PROPERTY_NAME} + ":uri" is present,
116 * where uri is the parameter to this method, then its value is read as a class name.
117 * The method will try to create a new instance of this class by using the class loader,
118 * and returns it if it is successfully created.
119 * </li>
120 * <li>
121 * <p>
122 * Use the configuration file "jaxp.properties". The file is in standard
|