Spec-Zone.ru › OpenJDK 21

Класс XPathFactory

java.lang.Object
javax.xml.xpath.XPathFactory
public abstract class XPathFactory extends Object

Экземпляр XPathFactory может быть использован для создания объектов XPath.

См. newInstance(String uri) для механизма поиска.

Класс XPathFactory не потокобезопасен. Иными словами, приложение несёт ответственность за обеспечение того, чтобы не более одного потока использовал объект XPathFactory в любой момент времени. Реализации рекомендуются помечать методы как synchronized для защиты от сбоя клиентов.

XPathFactory не рекурсивен. Пока один из newInstance методов вызывается, приложениям не следует пытаться рекурсивно вызывать метод newInstance, даже из того же потока.

С:
1.5

Краткое описание полей

Модификатор и тип Поле Описание
static final String DEFAULT_OBJECT_MODEL_URI
URI модели объекта по умолчанию.
static final String DEFAULT_PROPERTY_NAME
Имя свойства по умолчанию согласно спецификации JAXP.

Краткое описание конструкторов

XPathFactory()
Модификатор Конструктор Описание
protected
Защищённый конструктор, так как newInstance() или newInstance(String uri) или newInstance(String uri, String factoryClassName, ClassLoader classLoader) следует использовать для создания нового экземпляра XPathFactory.

Краткое описание методов

Модификатор и тип Метод Описание
abstract boolean getFeature(String name)
Получение состояния заданного свойства.
String getProperty(String name)
Возвращает значение указанного свойства.
abstract boolean isObjectModelSupported(String objectModel)
Поддерживается ли указанная модель объекта этим XPathFactory?
static XPathFactory newDefaultInstance()
Создаёт новый экземпляр встроенной системной реализации 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.
void setProperty(String name, String value)
Устанавливает свойство для этого XPathFactory.
abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)
Устанавливает решатель функций по умолчанию.
abstract void setXPathVariableResolver(XPathVariableResolver resolver)
Устанавливает решатель переменных по умолчанию.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

DEFAULT_PROPERTY_NAME

public static final String DEFAULT_PROPERTY_NAME

Имя свойства по умолчанию согласно спецификации JAXP.

См. также:
  • Значения константных полей

DEFAULT_OBJECT_MODEL_URI

public static final String DEFAULT_OBJECT_MODEL_URI

URI объекта по умолчанию.

См. также:
  • Значения константных полей

Подробное описание конструкторов

XPathFactory

protected XPathFactory()

Защищенный конструктор, так как для создания нового экземпляра XPathFactory следует использовать newInstance() или newInstance(String uri) или newInstance(String uri, String factoryClassName, ClassLoader classLoader).

Подробное описание методов

newDefaultInstance

public static XPathFactory newDefaultInstance()
Создает новый экземпляр встроенной по умолчанию реализации системы XPathFactory.
Требования к реализации:
Встроенная по умолчанию реализация системы XPathFactory должна поддерживать только default object model, W3C DOM, но может поддерживать и дополнительные модели объектов.
Возвращает:
Новый экземпляр встроенной по умолчанию реализации системы XPathFactory.
С тех пор как:
9

newInstance

public static XPathFactory newInstance()

Получение нового экземпляра XPathFactory, используя модель объекта по умолчанию, DEFAULT_OBJECT_MODEL_URI, W3C DOM.

Этот метод функционально эквивалентен:

   newInstance(DEFAULT_OBJECT_MODEL_URI)
 

Так как реализация для W3C DOM всегда доступна, этот метод никогда не завершится ошибкой.

Возвращает:
Экземпляр XPathFactory.
Выбрасывает:
RuntimeException - При возникновении ошибки при создании XPathFactory для модели объекта по умолчанию.

newInstance

public static XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException
Получение нового экземпляра XPathFactory, используя указанную модель объекта. Этот метод использует механизм поиска JAXP, чтобы определить и загрузить реализацию XPathFactory , поддерживающую указанную модель объекта.

Совет по устранению неполадок:

См. 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 DOM, пакет org.w3c.dom, и реализации могут вводить другие URI для других моделей объектов.
Возвращает:
Экземпляр XPathFactory.
Выбрасывает:
XPathFactoryConfigurationException - Если указанная модель объекта недоступна или при ошибке конфигурации.
NullPointerException - Если uri является null.
IllegalArgumentException - Если uri является null или uri.length() == 0.

newInstance

public static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException

Получение нового экземпляра XPathFactory из имени класса фабрики. XPathFactory возвращается, если указанный класс фабрики поддерживает указанную модель объекта. Эта функция полезна, когда в классе пути существует несколько поставщиков. Она предоставляет больше управления приложению, поскольку оно может указать, какой поставщик должен быть загружен.

Совет по устранению неполадок

Установка системной переменной jaxp.debug приведет к тому, что этот метод будет выводить большое количество отладочных сообщений в System.err о том, что он делает и где ищет.

Если у вас проблемы, попробуйте:

 java -Djaxp.debug=1 YourProgram ....
 
Параметры:
uri - Определяет базовую модель объекта. Спецификация определяет только URI DEFAULT_OBJECT_MODEL_URI, http://java.sun.com/jaxp/xpath/dom для W3C DOM, пакет org.w3c.dom, и реализации могут вводить другие URI для других моделей объектов.
factoryClassName - Полное квалифицированное имя класса фабрики, предоставляющего реализацию javax.xml.xpath.XPathFactory.
classLoader - Класс загрузчика, используемый для загрузки класса фабрики. Если используется текущий контекст загрузчик классов null.
Возвращает:
Новый экземпляр XPathFactory
Выбрасывает:
XPathFactoryConfigurationException - если factoryClassName является null, или класс фабрики не может быть загружен, создан, или класс фабрики не поддерживает модель объекта, указанную в параметре uri.
NullPointerException - Если uri является null.
IllegalArgumentException - Если uri является null или uri.length() == 0.
С тех пор как:
1.6
См. также:
  • newInstance()
  • newInstance(String uri)

isObjectModelSupported

public abstract boolean isObjectModelSupported(String objectModel)

Поддерживает ли эта XPathFactory указанную модель объекта?

Параметры:
objectModel - Указывает модель объекта, которую понимает возвращаемый XPathFactory.
Возвращает:
true если XPathFactory поддерживает objectModel, в противном случае false.
Выбрасывает:
NullPointerException - Если objectModel является null.
IllegalArgumentException - Если objectModel.length() == 0.

setFeature

public abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException
Устанавливает функцию для этого XPathFactory. Функция применяется к объектам XPath, которые создает XPathFactory. Она не влияет на объекты XPath, которые уже созданы.

Имена функций являются полностью квалифицированными URIs. Реализации могут определять свои собственные функции. XPathFactoryConfigurationException выбрасывается, если эта XPathFactory или созданные ею XPath не могут поддерживать функцию. Возможно, XPathFactory может предоставлять значение функции, но не сможет изменить его состояние.

Все реализации обязаны поддерживать функцию XMLConstants.FEATURE_SECURE_PROCESSING. Когда функция имеет значение true, любой вызов внешней функции является ошибкой. В этих условиях реализация не должна вызывать XPathFunctionResolver и должна выбросить XPathFunctionException.

Параметры:
name - Имя функции.
value - Состояние функции true или false.
Выбрасывает:
XPathFactoryConfigurationException - если эта XPathFactory или созданные ею XPath не могут поддерживать эту функцию.
NullPointerException - если name является null.

getFeature

public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException

Получение состояния указанной функции.

Имена функций являются полностью квалифицированными URIs. Реализации могут определять свои собственные функции. XPathFactoryConfigurationException выбрасывается, если эта XPathFactory или созданные ею XPath не могут поддерживать функцию. Возможно, XPathFactory может предоставлять значение функции, но не сможет изменить его состояние.

Параметры:
name - Имя функции.
Возвращает:
Состояние указанной функции.
Выбрасывает:
XPathFactoryConfigurationException - если эта XPathFactory или созданные ею XPath не могут поддерживать эту функцию.
NullPointerException - если name является null.

setXPathVariableResolver

public abstract void setXPathVariableResolver(XPathVariableResolver resolver)

Установка решателя переменных по умолчанию.

Все объекты XPath, созданные из этой фабрики, будут использовать указанный решатель по умолчанию.

Исключение NullPointerException выбрасывается, если resolver является null.

Параметры:
resolver - Решатель переменных.
Выбрасывает:
NullPointerException - Если resolver является null.

setXPathFunctionResolver

public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)

Установить обработчик функций по умолчанию.

Любые объекты XPath, созданные с помощью этого фабричного метода, по умолчанию будут использовать указанный обработчик.

Исключение NullPointerException будет брошено, если resolver является null.

Parameters:
resolver - Обработчик функций XPath.
Throws:
NullPointerException - Если resolver является null.

newXPath

public abstract XPath newXPath()

Возвращает новый XPath, используя внутреннюю модель объекта, определенную при создании XPathFactory.

Returns:
Новый экземпляр XPath.

setProperty

public void setProperty(String name, String value)
Устанавливает свойство для этого XPathFactory. Свойство применяется к объектам XPath, которые создаёт XPathFactory. Оно не влияет на объекты XPath, которые уже созданы.

Свойство может быть определено либо в этом XPathFactory, либо в базовой реализации.

Implementation Requirements:
По умолчанию метод выбрасывает исключение UnsupportedOperationException.
Parameters:
name - имя свойства
value - значение свойства
Throws:
IllegalArgumentException - если имя свойства не распознано или значение не может быть присвоено
UnsupportedOperationException - если реализация не поддерживает метод
NullPointerException - если name является null
Since:
18

getProperty

public String getProperty(String name)
Возвращает значение указанного свойства.
Implementation Requirements:
По умолчанию метод выбрасывает исключение UnsupportedOperationException.
Parameters:
name - имя свойства
Returns:
значение свойства.
Throws:
IllegalArgumentException - если имя свойства не распознано
UnsupportedOperationException - если реализация не поддерживает метод
NullPointerException - если name является null
Since:
18

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/javax/xml/xpath/XPathFactory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API