Spec-Zone.ru › OpenJDK 24

Класс 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, даже из того же потока.

Since:
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), чтобы узнать, как именно парсится файл свойств. В частности, двоеточия ':' необходимо экранировать в файле свойств, поэтому убедитесь, что URIs в нём правильно экранированы. Например:

   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 - Загрузчик ClassLoader, используемый для загрузки класса фабрики. Если null контекста текущего Thread используется для загрузки класса фабрики.
Возвращает:
Новый экземпляр 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.

Parameters:
resolver - Обработчик переменных.
Throws:
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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/xpath/XPathFactory.html

Spec-Zone.ru

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