javax.xml.xpath
public abstract class XPathFactory extends Object
An XPathFactory
instance can be used to create
{@link javax.xml.xpath.XPath} objects.
See {@link #newInstance(String uri)} for lookup mechanism.
Since: 1.5
Version: $Revision: 226183 $, $Date: 2005-04-08 06:39:14 -0400 (Fri, 08 Apr 2005) $
Field Summary | |
---|---|
static String | DEFAULT_OBJECT_MODEL_URI Default Object Model URI. |
static String | DEFAULT_PROPERTY_NAME The default property name according to the JAXP spec. |
Constructor Summary | |
---|---|
protected | XPathFactory() Protected constructor as {@link #newInstance()} or {@link #newInstance(String uri)}
should be used to create a new instance of an |
Method Summary | |
---|---|
abstract boolean | getFeature(String name) Get the state of the named feature. Feature names are fully qualified {@link java.net.URI}s. |
abstract boolean | isObjectModelSupported(String objectModel) Is specified object model supported by this |
static XPathFactory | newInstance() Get a new This method is functionally equivalent to: newInstance(DEFAULT_OBJECT_MODEL_URI) Since the implementation for the W3C DOM is always available, this method will never fail. |
static XPathFactory | newInstance(String uri) Get a new To find a
|
abstract XPath | newXPath() Return a new |
abstract void | setFeature(String name, boolean value) Set a feature for this Feature names are fully qualified {@link java.net.URI}s. |
abstract void | setXPathFunctionResolver(XPathFunctionResolver resolver) Establish a default function resolver. Any A |
abstract void | setXPathVariableResolver(XPathVariableResolver resolver) Establish a default variable resolver. Any A |
Default Object Model URI.
The default property name according to the JAXP spec.
Protected constructor as {@link #newInstance()} or {@link #newInstance(String uri)}
should be used to create a new instance of an XPathFactory
.
Get the state of the named feature.
Feature names are fully qualified {@link java.net.URI}s.
Implementations may define their own features.
An {@link XPathFactoryConfigurationException} is thrown if this XPathFactory
or the XPath
s
it creates cannot support the feature.
It is possible for an XPathFactory
to expose a feature value but be unable to change its state.
Parameters: name Feature name.
Returns: State of the named feature.
Throws: XPathFactoryConfigurationException if this XPathFactory
or the XPath
s
it creates cannot support this feature. NullPointerException if name
is null
.
Is specified object model supported by this XPathFactory
?
Parameters: objectModel Specifies the object model which the returned XPathFactory
will understand.
Returns: true
if XPathFactory
supports objectModel
, else false
.
Throws: NullPointerException If objectModel
is null
. IllegalArgumentException If objectModel.length() == 0
.
Get a new XPathFactory
instance using the default object model,
{@link #DEFAULT_OBJECT_MODEL_URI},
the W3C DOM.
This method is functionally equivalent to:
newInstance(DEFAULT_OBJECT_MODEL_URI)
Since the implementation for the W3C DOM is always available, this method will never fail.
Returns: Instance of an XPathFactory
.
Get a new XPathFactory
instance using the specified object model.
To find a XPathFactory
object,
this method looks the following places in the following order where "the class loader" refers to the context class loader:
javax.xml.xpath.XPathFactory
in the resource directory META-INF/services.
See the JAR File Specification for file format and parsing rules.
Each potential service provider is required to implement the method:
{@link #isObjectModelSupported(String objectModel)}The first service provider found in class loader order that supports the specified object model is returned.
XPathFactory
is located in a platform specific way.
There must be a platform default XPathFactory for the W3C DOM, i.e. {@link #DEFAULT_OBJECT_MODEL_URI}.
If everything fails, an XPathFactoryConfigurationException
will be thrown.
Tip for Trouble-shooting:
See {@link java.util.Properties#load(java.io.InputStream)} for exactly how a property file is parsed. In particular, colons ':' need to be escaped in a property file, so make sure the URIs are properly escaped in it. For example:
http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
Parameters: uri Identifies the underlying object model.
The specification only defines the URI {@link #DEFAULT_OBJECT_MODEL_URI},
http://java.sun.com/jaxp/xpath/dom
for the W3C DOM,
the org.w3c.dom package, and implementations are free to introduce other URIs for other object models.
Returns: Instance of an XPathFactory
.
Throws: XPathFactoryConfigurationException If the specified object model is unavailable. NullPointerException If uri
is null
. IllegalArgumentException If uri.length() == 0
.
Return a new XPath
using the underlying object
model determined when the XPathFactory
was instantiated.
Returns: New instance of an XPath
.
Set a feature for this XPathFactory
and XPath
s created by this factory.
Feature names are fully qualified {@link java.net.URI}s.
Implementations may define their own features.
An {@link XPathFactoryConfigurationException} is thrown if this XPathFactory
or the XPath
s
it creates cannot support the feature.
It is possible for an XPathFactory
to expose a feature value but be unable to change its state.
All implementations are required to support the {@link javax.xml.XMLConstants#FEATURE_SECURE_PROCESSING} feature.
When the feature is true
, any reference to an external function is an error.
Under these conditions, the implementation must not call the {@link XPathFunctionResolver}
and must throw an {@link XPathFunctionException}.
Parameters: name Feature name. value Is feature state true
or false
.
Throws: XPathFactoryConfigurationException if this XPathFactory
or the XPath
s
it creates cannot support this feature. NullPointerException if name
is null
.
Establish a default function resolver.
Any XPath
objects constructed from this factory will use
the specified resolver by default.
A NullPointerException
is thrown if resolver
is null
.
Parameters: resolver XPath function resolver.
Throws: NullPointerException If resolver
is null
.
Establish a default variable resolver.
Any XPath
objects constructed from this factory will use
the specified resolver by default.
A NullPointerException
is thrown if resolver
is null
.
Parameters: resolver Variable resolver.
Throws: NullPointerException If resolver
is null
.