public abstract class XPathFactory extends Object
XPathFactory
экземпляр может использоваться, чтобы создать XPath
объекты.
См. newInstance(String uri)
для механизма поиска.
XPathFactory
class не ориентирован на многопотоковое исполнение. Другими словами это - обязанность приложения гарантировать, что самое большее один поток использует a XPathFactory
объект в любой данный момент. Реализации поощряются отметить методы как synchronized
защищать себя от поврежденных клиентов.
XPathFactory
не повторно используемо. В то время как один из newInstance
методы вызываются, приложения, возможно, не пытаются рекурсивно вызвать a newInstance
метод, даже от того же самого потока.
Модификатор и Тип | Поле и Описание |
---|---|
static String |
DEFAULT_OBJECT_MODEL_URI
URI Объектной модели значения по умолчанию.
|
static String |
DEFAULT_PROPERTY_NAME
Свойство значения по умолчанию называет согласно спецификации JAXP.
|
Модификатор | Конструктор и Описание |
---|---|
protected |
XPathFactory()
Защищенный конструктор как
newInstance() или newInstance(String uri) или newInstance(String uri, String factoryClassName, ClassLoader classLoader) должен использоваться, чтобы создать новый экземпляр XPathFactory . |
Модификатор и Тип | Метод и Описание |
---|---|
abstract boolean |
getFeature(String name)
Получите состояние именованной функции.
|
abstract boolean |
isObjectModelSupported(String objectModel)
Определенная объектная модель, поддерживаемая этим
XPathFactory ? |
static XPathFactory |
newInstance()
Получите новое
XPathFactory экземпляр используя объектную модель значения по умолчанию, DEFAULT_OBJECT_MODEL_URI , W3C ДОМ. |
static XPathFactory |
newInstance(String uri)
Получите новое
XPathFactory экземпляр используя указанную объектную модель. |
static XPathFactory |
newInstance(String uri, String factoryClassName, ClassLoader classLoader)
Получите новый экземпляр a
XPathFactory от фабрики имя class. |
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
Свойство значения по умолчанию называет согласно спецификации JAXP.
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 ДОМ.
Этот метод функционально эквивалентен:
newInstance(DEFAULT_OBJECT_MODEL_URI)
Начиная с реализации для W3C ДОМ всегда доступен, этот метод никогда не перестанет работать.
XPathFactory
.RuntimeException
- Когда есть отказ в создании XPathFactory
для объектной модели значения по умолчанию.public static XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException
Получите новое XPathFactory
экземпляр используя указанную объектную модель.
Найти a XPathFactory
объект, этот метод смотрит следующие места в следующем порядке, где "загрузчик class" отсылает к контексту загрузчик class:
DEFAULT_PROPERTY_NAME
+ ":uri" присутствует, где туры являются параметром к этому методу, тогда его значение читается как имя class. Метод попытается создать новый экземпляр этого class при использовании загрузчика class, и возвращает это, если это будет успешно создаваться. ServiceLoader
class, чтобы попытаться расположиться и загрузить реализацию службы. isObjectModelSupported(String objectModel)
. Первый поставщик услуг, найденный этим, поддерживает указанную объектную модель, возвращается. ServiceConfigurationError
XPathFactoryConfigurationException
будет брошен. XPathFactory
располагается в особенном методе платформы. Должно быть значение по умолчанию платформы XPathFactory для W3C ДОМ, то есть. DEFAULT_OBJECT_MODEL_URI
. Если все перестало работать, XPathFactoryConfigurationException
будет брошен.
Подсказка для Поиска и устранения неисправностей:
См. Properties.load(java.io.InputStream)
для точно, как анализируется файл свойств. В частности двоеточия ':' потребность, которой оставят в файле свойств, так что удостоверьтесь, что URI должным образом оставляют в ней. Например:
http\://java.sun.com/jaxp/xpath/dom=org.acme.DomXPathFactory
uri
- Идентифицирует базовую объектную модель. Спецификация только определяет URI DEFAULT_OBJECT_MODEL_URI
, http://java.sun.com/jaxp/xpath/dom
для W3C ДОМ, org.w3c.dom пакет, и реализации свободны представить другие URI для других объектных моделей.XPathFactory
.XPathFactoryConfigurationException
- Если указанная объектная модель недоступна, или если есть ошибка конфигурации.NullPointerException
- Если uri
null
.IllegalArgumentException
- Если uri
null
или uri.length() == 0
.public static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException
Получите новый экземпляр a XPathFactory
от фабрики имя class. XPathFactory
возвращается, если определенная фабрика class поддерживает указанную объектную модель. Эта функция полезна, когда есть многократные провайдеры в пути к классу. Это дает больше контроля к приложению, поскольку это может определить, какой провайдер должен быть загружен.
Установка jaxp.debug
системное свойство заставит этот метод печатать много сообщений отладки к System.err
о каком это делает и где это смотрит на.
Если у Вас есть попытка задач:
java -Djaxp.debug=1 YourProgram ....
uri
- Идентифицирует базовую объектную модель. Спецификация только определяет URI DEFAULT_OBJECT_MODEL_URI
,http://java.sun.com/jaxp/xpath/dom
для W3C ДОМ, org.w3c.dom пакет, и реализации свободны представить другие URI для других объектных моделей.factoryClassName
- полностью определенное имя class фабрики, которое обеспечивает реализацию javax.xml.xpath.XPathFactory
.classLoader
- ClassLoader
используемый, чтобы загрузить фабрику class. Если null
ток Thread
's контекст classLoader используется, чтобы загрузить фабрику class.XPathFactory
XPathFactoryConfigurationException
- если factoryClassName
null
, или фабрика, class не может быть загружен, инстанцирован или фабрика class, не поддерживает объектную модель, определенную в uri
параметр.NullPointerException
- Если uri
null
.IllegalArgumentException
- Если uri
null
или uri.length() == 0
.newInstance()
, newInstance(String uri)
public abstract boolean isObjectModelSupported(String objectModel)
Определенная объектная модель, поддерживаемая этим XPathFactory
?
objectModel
- Определяет объектную модель который возвращенный XPathFactory
поймет.true
если XPathFactory
поддерживает objectModel
, еще false
.NullPointerException
- Если objectModel
null
.IllegalArgumentException
- Если objectModel.length() == 0
.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 это создает, не может поддерживать эту функцию.NullPointerException
- если name
null
.public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException
Получите состояние именованной функции.
Имена функции полностью определяются URI
s. Реализации могут определить свои собственные функции. XPathFactoryConfigurationException
бросается если это XPathFactory
или XPath
s это создает, не может поддерживать функцию. Это возможно для XPathFactory
представить значение функции, но быть неспособными изменить его состояние.
name
- Имя функции.XPathFactoryConfigurationException
- если это XPathFactory
или XPath
s это создает, не может поддерживать эту функцию.NullPointerException
- если name
null
.public abstract void setXPathVariableResolver(XPathVariableResolver resolver)
Установите преобразователь переменной значения по умолчанию.
Любой XPath
объекты, созданные из этой фабрики, будут использовать указанный преобразователь по умолчанию.
A NullPointerException
бросается если resolver
null
.
resolver
- Переменный преобразователь.NullPointerException
- Если resolver
null
.public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)
Установите преобразователь функции значения по умолчанию.
Любой XPath
объекты, созданные из этой фабрики, будут использовать указанный преобразователь по умолчанию.
A NullPointerException
бросается если resolver
null
.
resolver
- Преобразователь функции XPath.NullPointerException
- Если resolver
null
.public abstract XPath newXPath()
Возвратите новое XPath
использование базовой объектной модели, определенной, когда XPathFactory
был инстанцирован.
XPath
.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92