public abstract class XPathFactory extends Object
一个XPathFactory
实例可以用来创建XPath
对象。
看到newInstance(String uri)
查找机制。
XPathFactory
类不是线程安全的。换句话说,它是应用程序的责任保证最多只有一个线程在任何时候使用XPathFactory
对象。实施鼓励synchronized
标记方法来保护自己从破碎的客户。
XPathFactory
是不可重入。而其中的newInstance
方法被调用时,应用程序可能不会尝试递归调用newInstance
方法,即使在同一个线程。
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_OBJECT_MODEL_URI
默认的对象模型的URI。
|
static String |
DEFAULT_PROPERTY_NAME
根据使用的默认属性名称规格
|
Modifier | Constructor and Description |
---|---|
protected |
XPathFactory()
受保护的构造函数为
newInstance() 或
newInstance(String uri) 或
newInstance(String uri, String factoryClassName, ClassLoader classLoader) 应该被用来创建一个新实例
XPathFactory 。
|
Modifier and Type | Method and Description |
---|---|
abstract boolean |
getFeature(String name)
获取已命名的功能的状态。
|
abstract boolean |
isObjectModelSupported(String objectModel)
指定对象模型的
XPathFactory 支持?
|
static XPathFactory |
newInstance()
得到一个新的
XPathFactory 实例使用默认的对象模型,
DEFAULT_OBJECT_MODEL_URI ,W3C DOM。
|
static XPathFactory |
newInstance(String uri)
使用指定的对象模型,得到一个新的
XPathFactory 实例。
|
static XPathFactory |
newInstance(String uri, String factoryClassName, ClassLoader classLoader)
获得从一个工厂类的新实例的名称
XPathFactory 。
|
abstract XPath |
newXPath()
返回一个新的
XPath 使用底层对象模型时确定的
XPathFactory 被实例化。
|
abstract void |
setFeature(String name, boolean value)
设置这一
XPathFactory 和
XPath s这个工厂创建的特征。
|
abstract void |
setXPathFunctionResolver(XPathFunctionResolver resolver)
建立一个默认的功能解析。
|
abstract void |
setXPathVariableResolver(XPathVariableResolver resolver)
建立一个默认的变量解析器。
|
public static final String DEFAULT_PROPERTY_NAME
根据使用的默认属性名称规格
public static final String DEFAULT_OBJECT_MODEL_URI
默认的对象模型的URI。
protected XPathFactory()
受保护的构造函数为newInstance()
或newInstance(String uri)
或newInstance(String uri, String factoryClassName, ClassLoader classLoader)
应该被用来创建一个新实例XPathFactory
。
public static XPathFactory newInstance()
得到一个新的XPathFactory
实例使用默认的对象模型,DEFAULT_OBJECT_MODEL_URI
,W3C DOM。
此方法在功能上相当于:
newInstance(default_object_model_uri)
由于W3C DOM的实现一直是可用的,这个方法永远不会失败。
XPathFactory
实例。
RuntimeException
-出现故障时在创建默认的对象模型
XPathFactory
。
public static XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException
使用指定的对象模型,得到一个新的XPathFactory
实例。
找到一个XPathFactory
对象,这种方法看起来以下依次为“类装载器”指的是上下文类加载器的地方:
DEFAULT_PROPERTY_NAME
+“URI”是存在的,其中的URI是这个方法的参数,那么它的价值是理解为一个类的名字。该方法将尝试使用类装载器来创建这个类的一个新实例,并返回它如果它成功创建。ServiceLoader
类定义,试图定位和加载使用default loading mechanism服务的实现:服务提供者装载设备将使用current thread's context class loader尝试加载服务。如果上下文类加载器是空的,将使用的system class loader。isObjectModelSupported(String objectModel)
。发现支持指定的对象模型的第一个服务提供程序返回。在一个XPathFactoryConfigurationException
ServiceConfigurationError
将抛出的情况下XPathFactory
位于平台的具体方式。必须有一个W3C DOM平台默认xpathfactory,即DEFAULT_OBJECT_MODEL_URI
。如果一切都失败了,一个XPathFactoryConfigurationException
将抛出。
解决问题的技巧:
看到Properties.load(java.io.InputStream)
究竟属性文件解析。特别是,冒号“:”需要在属性文件中逃脱,所以确保URI正确了它。例如:
HTTP:/ / java。太阳。COM /使用/ XPath和DOM = org.acme.domxpathfactory
uri
-识别潜在的对象模型。规范只定义了URI
DEFAULT_OBJECT_MODEL_URI
,为W3C DOM
http://java.sun.com/jaxp/xpath/dom
,的org.w3c.dom.Node包,并实现免费介绍其他URI的其他对象模型。
XPathFactory
实例。
XPathFactoryConfigurationException
-如果指定的对象模型不可用,或者如果有配置错误。
null
uri
NullPointerException
。
IllegalArgumentException
-如果
uri
是
null
或
uri.length() == 0
。
public static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException
获得从一个工厂类的新实例的名称XPathFactory
。如果指定XPathFactory
工厂类支持指定的对象模型返回。此功能是有用的当有多个供应商在类路径。它给应用程序提供了更多的控制,因为它可以指定要加载哪个提供程序。
设置jaxp.debug
系统属性将导致这种方法印制大量的调试消息System.err
关于它是什么做的,是在看。
如果你有问题的话:
java djaxp。调试= 1你的…
uri
-识别潜在的对象模型。规范只定义了URI
DEFAULT_OBJECT_MODEL_URI
,为W3C DOM
http://java.sun.com/jaxp/xpath/dom
,的org.w3c.dom.Node包,并实现免费介绍其他URI的其他对象模型。
factoryClassName
完全合格的工厂类的名称,提供了实现
javax.xml.xpath.XPathFactory
。
classLoader
用于负荷工厂类
ClassLoader
。如果
null
电流
Thread
上下文类加载器来加载工厂类。
XPathFactory
新实例
XPathFactoryConfigurationException
-如果
factoryClassName
是
null
,或工厂类不能被加载,实例化或工厂类不支持的
uri
参数指定的对象模型。
null
uri
NullPointerException
。
IllegalArgumentException
-如果
uri
是
null
或
uri.length() == 0
。
newInstance()
,
newInstance(String uri)
public abstract boolean isObjectModelSupported(String objectModel)
指定对象模型的XPathFactory
支持?
objectModel
-指定对象模型返回的
XPathFactory
会理解的。
true
如果
XPathFactory
支持
objectModel
,其他
false
。
null
objectModel
NullPointerException
。
objectModel.length() == 0
IllegalArgumentException
。
public abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException
设置这一XPathFactory
和XPath
s这个工厂创建的特征。
功能名称是完全合格的URI
s实现可以定义自己的功能。如果这是一个XPathFactoryConfigurationException
XPathFactory
或创建不支持特征的XPath
s扔。一个XPathFactory
暴露特征值,但不能改变它的状态,它是可能的。
所有的实现都必须支持的XMLConstants.FEATURE_SECURE_PROCESSING
特征。当特征是true
,任何引用外部函数是一个错误。在这种情况下,必须执行,不叫XPathFunctionResolver
必须抛出一个XPathFunctionException
。
name
特征名称。
value
-特征状态
true
或
false
。
XPathFactoryConfigurationException
-如果这
XPathFactory
也创造不支持此功能的
XPath
s。
null
name
NullPointerException
。
public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException
获取已命名的功能的状态。
功能名称是完全合格的URI
s实现可以定义自己的功能。如果这是一个XPathFactoryConfigurationException
XPathFactory
或XPath
s创建不支持特征扔。一个XPathFactory
暴露特征值,但不能改变它的状态,它是可能的。
name
特征名称。
XPathFactoryConfigurationException
-如果这
XPathFactory
或
XPath
s它创造不支持此功能。
null
name
NullPointerException
。
public abstract void setXPathVariableResolver(XPathVariableResolver resolver)
建立一个默认的变量解析器。
本厂建有XPath
对象将使用默认指定的冲突解决程序。
一个NullPointerException
抛出如果resolver
是null
。
resolver
变量解析器。
null
resolver
NullPointerException
。
public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)
建立一个默认的功能解析。
本厂建有XPath
对象将使用默认指定的冲突解决程序。
如果一个NullPointerException
resolver
是null
扔。
resolver
- XPath函数旋转变压器。
null
resolver
NullPointerException
。
public abstract XPath newXPath()
返回一个新的XPath
使用底层对象模型时确定的XPathFactory
被实例化。
XPath
新实例。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.