Класс XMLInputFactory

public abstract class XMLInputFactory
extends Object

Определяет абстрактную реализацию фабрики для получения потоков. В следующей таблице определены стандартные свойства этого спецификатора. Каждое свойство отличается уровнем поддержки, требуемым каждой реализацией. Уровень требуемой поддержки описан в столбце «Требуемо».

Имя свойства Поведение Тип возвращаемого значения Значение по умолчанию Требуемо
javax.xml.stream.isValidating Включает/выключает проверку DTD, специфичную для реализации Boolean False Нет
javax.xml.stream.isNamespaceAware Включает/выключает обработку имен пространств имён для поддержки XML 1.0 Boolean True True (требуется) / False (необязательно)
javax.xml.stream.isCoalescing Требует от процессора объединения смежных данных символов Boolean False Да
javax.xml.stream.isReplacingEntityReferences Заменяет внутренние ссылки на сущности их замещающим текстом и сообщает о них как о символах Boolean True Да
javax.xml.stream.isSupportingExternalEntities Разрешает внешние распарсенные сущности Boolean Не указано Да
javax.xml.stream.supportDTD Используйте это свойство для запроса процессоров, которые не поддерживают DTD Boolean True Да
javax.xml.stream.reporter устанавливает/получает реализацию XMLReporter javax.xml.stream.XMLReporter Null Да
javax.xml.stream.resolver устанавливает/получает реализацию интерфейса XMLResolver javax.xml.stream.XMLResolver Null Да
javax.xml.stream.allocator устанавливает/получает реализацию интерфейса XMLEventAllocator javax.xml.stream.util.XMLEventAllocator Null Да

Since:
1.6
См. также:
XMLOutputFactory, XMLEventReader, XMLStreamReader, EventFilter, XMLReporter, XMLResolver, XMLEventAllocator

Поля

Модификатор и тип Поле Описание
static String ALLOCATOR

Свойство, используемое для установки/получения реализации аллокатора

static String IS_COALESCING

Свойство, требующее от парсера объединение смежных разделов данных символов

static String IS_NAMESPACE_AWARE

Свойство, используемое для включения/выключения поддержки пространств имен, это для поддержки документов XML 1.0, должна поддерживаться только настройка true

static String IS_REPLACING_ENTITY_REFERENCES

Требует от парсера замены внутренних ссылок на сущности их замещающим текстом и сообщает о них как о символах

static String IS_SUPPORTING_EXTERNAL_ENTITIES

Свойство, требующее от парсера разрешения внешних распарсенных сущностей

static String IS_VALIDATING

Свойство, используемое для включения/выключения проверки, специфичной для реализации

static String REPORTER

Свойство, используемое для установки/получения реализации интерфейса XMLReporter

static String RESOLVER

Свойство, используемое для установки/получения реализации XMLResolver

static String SUPPORT_DTD

Свойство, требующее от парсера поддержки DTD

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

Модификатор Конструктор Описание
protected XMLInputFactory()

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

Модификатор и тип Метод Описание
abstract XMLEventReader createFilteredReader​(XMLEventReader reader, EventFilter filter)

Создайте фильтрующий читатель событий, который обёртку фильтра вокруг читателя событий

abstract XMLStreamReader createFilteredReader​(XMLStreamReader reader, StreamFilter filter)

Создайте фильтрующий читатель, который обёртку фильтра вокруг читателя

abstract XMLEventReader createXMLEventReader​(InputStream stream)

Создайте новый XMLEventReader из java.io.InputStream

abstract XMLEventReader createXMLEventReader​(InputStream stream, String encoding)

Создайте новый XMLEventReader из java.io.InputStream

abstract XMLEventReader createXMLEventReader​(Reader reader)

Создайте новый XMLEventReader из читателя

abstract XMLEventReader createXMLEventReader​(String systemId, InputStream stream)

Создайте новый XMLEventReader из java.io.InputStream

abstract XMLEventReader createXMLEventReader​(String systemId, Reader reader)

Создайте новый XMLEventReader из читателя

abstract XMLEventReader createXMLEventReader​(XMLStreamReader reader)

Создайте новый XMLEventReader из XMLStreamReader.

abstract XMLEventReader createXMLEventReader​(Source source)

Создайте новый XMLEventReader из JAXP источника.

abstract XMLStreamReader createXMLStreamReader​(InputStream stream)

Создайте новый XMLStreamReader из java.io.InputStream

abstract XMLStreamReader createXMLStreamReader​(InputStream stream, String encoding)

Создайте новый XMLStreamReader из java.io.InputStream

abstract XMLStreamReader createXMLStreamReader​(Reader reader)

Создайте новый XMLStreamReader из читателя

abstract XMLStreamReader createXMLStreamReader​(String systemId, InputStream stream)

Создайте новый XMLStreamReader из java.io.InputStream

abstract XMLStreamReader createXMLStreamReader​(String systemId, Reader reader)

Создайте новый XMLStreamReader из java.io.InputStream

abstract XMLStreamReader createXMLStreamReader​(Source source)

Создайте новый XMLStreamReader из JAXP источника.

abstract XMLEventAllocator getEventAllocator()

Получает аллокатор, используемый потоками, созданными с этой фабрикой

abstract Object getProperty​(String name)

Получает значение функции/свойства от базовой реализации

abstract XMLReporter getXMLReporter()

Отчётчик, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.

abstract XMLResolver getXMLResolver()

Резолвер, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.

abstract boolean isPropertySupported​(String name)

Запрашивает набор свойств, которые поддерживает эта фабрика.

static XMLInputFactory newDefaultFactory()

Создаёт новый экземпляр встроенной реализации XMLInputFactory по умолчанию.

static XMLInputFactory newFactory()

Создайте новый экземпляр фабрики.

static XMLInputFactory newFactory​(String factoryId, ClassLoader classLoader)

Создайте новый экземпляр фабрики.

static XMLInputFactory newInstance()

Создаёт новый экземпляр фабрики точно так же, как метод newFactory().

static XMLInputFactory newInstance​(String factoryId, ClassLoader classLoader)

Устарело.

Этот метод устарел для поддержания согласованности API.

abstract void setEventAllocator​(XMLEventAllocator allocator)

Устанавливает пользовательский аллокатор событий для событий

abstract void setProperty​(String name, Object value)

Позволяет пользователю установить конкретную функцию/свойство в базовой реализации.

abstract void setXMLReporter​(XMLReporter reporter)

Отчётчик, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.

abstract void setXMLResolver​(XMLResolver resolver)

Резолвер, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.

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

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

Поля

IS_NAMESPACE_AWARE

public static final String IS_NAMESPACE_AWARE

Свойство, используемое для включения/выключения поддержки пространств имён. Это необходимо для поддержки документов XML 1.0, должна поддерживаться только установка true.

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

IS_VALIDATING

public static final String IS_VALIDATING

Свойство, используемое для включения/выключения проверки, специфичной для реализации.

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

IS_COALESCING

public static final String IS_COALESCING

Свойство, требующее от парсера объединять смежные разделы данных символов.

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

IS_REPLACING_ENTITY_REFERENCES

public static final String IS_REPLACING_ENTITY_REFERENCES

Требует от парсера заменять ссылки на внутренние сущности их замещающим текстом и сообщать о них как о символах.

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

IS_SUPPORTING_EXTERNAL_ENTITIES

public static final String IS_SUPPORTING_EXTERNAL_ENTITIES

Свойство, требующее от парсера разрешать внешние анализируемые сущности.

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

SUPPORT_DTD

public static final String SUPPORT_DTD

Свойство, требующее от парсера поддерживать DTD.

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

REPORTER

public static final String REPORTER

Свойство, используемое для установки/получения реализации интерфейса XMLReporter.

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

RESOLVER

public static final String RESOLVER

Свойство, используемое для установки/получения реализации XMLResolver.

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

ALLOCATOR

public static final String ALLOCATOR

Свойство, используемое для установки/получения реализации аллокатора.

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

Конструкторы

XMLInputFactory

protected XMLInputFactory()

Методы

newDefaultFactory

public static XMLInputFactory newDefaultFactory()

Создаёт новый экземпляр реализации XMLInputFactory по умолчанию.

Возвращает:
Новый экземпляр реализации XMLInputFactory по умолчанию.
С:
9

newInstance

public static XMLInputFactory newInstance()
                                   throws FactoryConfigurationError

Создаёт новый экземпляр фабрики таким же образом, как и метод newFactory().

Исключения:
FactoryConfigurationError - если экземпляр этой фабрики не может быть загружен

newFactory

public static XMLInputFactory newFactory()
                                  throws FactoryConfigurationError

Создаёт новый экземпляр фабрики.

Этот статический метод создаёт новый экземпляр фабрики. Этот метод использует следующую упорядоченную процедуру поиска для определения класса реализации XMLInputFactory для загрузки:

  • Используйте системную переменную `javax.xml.stream.XMLInputFactory`.

  • Используйте конфигурационный файл "stax.properties". Файл имеет стандартный формат Properties и обычно находится в каталоге conf установки Java. Он содержит полное имя класса реализации, а ключ — это системная переменная, определённая выше.

    Файл stax.properties читается реализацией только один раз, а его значения кэшируются для последующего использования. Если файл не существует при первой попытке чтения, дальнейшие попытки проверки его существования не выполняются. Изменить значение любой переменной в stax.properties после первого чтения невозможно.

    Используйте конфигурационный файл jaxp "jaxp.properties". Файл имеет такой же формат, как stax.properties, и будет прочитан только в случае, если stax.properties не существует.

  • Используйте механизм загрузки поставщиков сервисов, определённый классом ServiceLoader, чтобы попытаться найти и загрузить реализацию сервиса, используя механизм загрузки по умолчанию: механизм загрузки поставщиков сервисов будет использовать поток текущего класса для попытки загрузки сервиса. Если поток текущего класса равен null, будет использован системный загрузчик классов.

  • В противном случае возвращается реализация по умолчанию система.

После того, как приложение получило ссылку на XMLInputFactory, оно может использовать фабрику для настройки и получения экземпляров потоков.

Исключения:
FactoryConfigurationError - в случае ошибки конфигурации службы или если реализация недоступна или не может быть создана.

newInstance

@Deprecated(since="1.7")
public static XMLInputFactory newInstance(String factoryId,
                                          ClassLoader classLoader)
                                   throws FactoryConfigurationError
Устаревший.
Этот метод устарел для поддержания согласованности API. Все методы newInstance были заменены соответствующими методами newFactory. Заменяющий метод newFactory(java.lang.String, java.lang.ClassLoader) не вносит изменений в поведение.

Создаёт новый экземпляр фабрики

Параметры:
factoryId - имя фабрики для поиска, такое же, как имя свойства
classLoader - загрузчик классов для использования
Возвращает:
реализация фабрики
Исключения:
FactoryConfigurationError - если экземпляр этой фабрики не может быть загружен

newFactory

public static XMLInputFactory newFactory(String factoryId,
                                         ClassLoader classLoader)
                                  throws FactoryConfigurationError

Создаёт новый экземпляр фабрики. Если аргумент classLoader равен null, используется ContextClassLoader.

Этот метод использует следующую упорядоченную процедуру поиска для определения класса реализации XMLInputFactory для загрузки:

  • Используйте значение системной переменной, идентифицируемой factoryId.

  • Используйте конфигурационный файл "stax.properties". Файл имеет стандартный формат Properties и обычно находится в каталоге conf установки Java. Он содержит полное имя класса реализации, а ключ — это системная переменная, определённая выше.

    Файл stax.properties читается реализацией только один раз, а его значения кэшируются для последующего использования. Если файл не существует при первой попытке чтения, дальнейшие попытки проверки его существования не выполняются. Изменить значение любой переменной в stax.properties после первого чтения невозможно.

    Используйте конфигурационный файл jaxp "jaxp.properties". Файл имеет такой же формат, как stax.properties, и будет прочитан только в случае, если stax.properties не существует.

  • Если factoryId равно "javax.xml.stream.XMLInputFactory", используйте механизм загрузки поставщиков сервисов, определённый классом ServiceLoader, для попытки нахождения и загрузки реализации сервиса с использованием указанного ClassLoader. Если classLoader равно null, применяется механизм загрузки по умолчанию: механизм загрузки поставщиков сервисов будет использовать поток текущего класса для попытки загрузки сервиса. Если поток текущего класса равен null, будет использован системный загрузчик классов.

  • В противном случае вызывается исключение FactoryConfigurationError.

Обратите внимание, что это новый метод, который заменяет устаревший метод newInstance(String factoryId, ClassLoader classLoader). Этот метод не вносит изменений в поведение по сравнению с устаревшим методом.

Примечание API:
Параметр `factoryId` в этом методе не соответствует параметру других фабрик JAXP, где первый параметр — это полное имя класса фабрики, предоставляющей реализацию фабрики.
Параметры:
factoryId - имя фабрики для поиска, такое же, как имя свойства
classLoader - загрузчик классов для использования
Возвращает:
реализация фабрики
Исключения:
FactoryConfigurationError - в случае ошибки конфигурации службы или если реализация недоступна или не может быть создана.
FactoryConfigurationError - если экземпляр этой фабрики не может быть загружен

createXMLStreamReader

public abstract XMLStreamReader createXMLStreamReader(Reader reader)
                                               throws XMLStreamException

Создаёт новый XMLStreamReader из ридера.

Параметры:
reader - данные XML для чтения
Исключения:
XMLStreamException

createXMLStreamReader

public abstract XMLStreamReader createXMLStreamReader(Source source)
                                               throws XMLStreamException

Создаёт новый XMLStreamReader из источника JAXP. Этот метод является необязательным.

Параметры:
source - источник для чтения
Исключения:
UnsupportedOperationException - если этот метод не поддерживается данным XMLInputFactory
XMLStreamException

createXMLStreamReader

public abstract XMLStreamReader createXMLStreamReader(InputStream stream)
                                               throws XMLStreamException

Создаёт новый XMLStreamReader из java.io.InputStream

Параметры:
stream - входной поток для чтения
Исключения:
XMLStreamException

createXMLStreamReader

public abstract XMLStreamReader createXMLStreamReader(InputStream stream,
                                                      String encoding)
                                               throws XMLStreamException

Создаёт новый XMLStreamReader из java.io.InputStream

Параметры:
stream - входной поток для чтения
encoding - кодировка символов потока
Исключения:
XMLStreamException

createXMLStreamReader

public abstract XMLStreamReader createXMLStreamReader(String systemId,
                                                      InputStream stream)
                                               throws XMLStreamException

Создаёт новый XMLStreamReader из java.io.InputStream

Параметры:
systemId - системный идентификатор потока
stream - входной поток для чтения
Исключения:
XMLStreamException

createXMLStreamReader

public abstract XMLStreamReader createXMLStreamReader(String systemId,
                                                      Reader reader)
                                               throws XMLStreamException

Создаёт новый XMLStreamReader из java.io.InputStream

Параметры:
systemId - системный идентификатор потока
reader - входной поток для чтения
Исключения:
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(Reader reader)
                                             throws XMLStreamException

Создаёт новый XMLEventReader из ридера

Параметры:
reader - данные XML для чтения
Исключения:
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(String systemId,
                                                    Reader reader)
                                             throws XMLStreamException

Создаёт новый XMLEventReader из ридера

Параметры:
systemId - системный идентификатор ввода
reader - данные XML для чтения
Исключения:
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(XMLStreamReader reader)
                                             throws XMLStreamException

Создаёт новый XMLEventReader из XMLStreamReader. После использования для построения экземпляра XMLEventReader, возвращаемого этим методом, XMLStreamReader не должен использоваться.

Параметры:
reader - XMLStreamReader для чтения (не должен изменяться)
Возвращает:
новый XMLEventReader
Исключения:
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(Source source)
                                             throws XMLStreamException

Создаёт новый XMLEventReader из источника JAXP. Поддержка этого метода является необязательной.

Параметры:
source - источник для чтения
Исключения:
UnsupportedOperationException - если этот метод не поддерживается данным XMLInputFactory
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(InputStream stream)
                                             throws XMLStreamException

Создаёт новый XMLEventReader из java.io.InputStream

Параметры:
stream - входной поток для чтения
Исключения:
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(InputStream stream,
                                                    String encoding)
                                             throws XMLStreamException

Создать новый XMLEventReader из java.io.InputStream

Parameters:
stream - входной поток для чтения
encoding - кодировка символов потока
Throws:
XMLStreamException

createXMLEventReader

public abstract XMLEventReader createXMLEventReader(String systemId,
                                                    InputStream stream)
                                             throws XMLStreamException

Создать новый XMLEventReader из java.io.InputStream

Parameters:
systemId - системный идентификатор потока
stream - входной поток для чтения
Throws:
XMLStreamException

createFilteredReader

public abstract XMLStreamReader createFilteredReader(XMLStreamReader reader,
                                                     StreamFilter filter)
                                              throws XMLStreamException

Создать фильтрующий чтец, который обернёт фильтр вокруг чтеца

Parameters:
reader - чтец для фильтрации
filter - фильтр, применяемый к чтецу
Throws:
XMLStreamException

createFilteredReader

public abstract XMLEventReader createFilteredReader(XMLEventReader reader,
                                                    EventFilter filter)
                                             throws XMLStreamException

Создать фильтрующий чтец событий, который обернёт фильтр вокруг чтеца событий

Parameters:
reader - чтец событий для обёртки
filter - фильтр, применяемый к чтецу событий
Throws:
XMLStreamException

getXMLResolver

public abstract XMLResolver getXMLResolver()

Резолвер, который будет установлен для любого XMLStreamReader или XMLEventReader, созданного данным экземпляром фабрики.

setXMLResolver

public abstract void setXMLResolver(XMLResolver resolver)

Резолвер, который будет установлен для любого XMLStreamReader или XMLEventReader, созданного данным экземпляром фабрики.

Parameters:
resolver - резолвер для разрешения ссылок

getXMLReporter

public abstract XMLReporter getXMLReporter()

Репортер, который будет установлен для любого XMLStreamReader или XMLEventReader, созданного данным экземпляром фабрики.

setXMLReporter

public abstract void setXMLReporter(XMLReporter reporter)

Репортер, который будет установлен для любого XMLStreamReader или XMLEventReader, созданного данным экземпляром фабрики.

Parameters:
reporter - резолвер для отчётов об ошибках, не являющихся критическими

setProperty

public abstract void setProperty(String name,
                                 Object value)
                          throws IllegalArgumentException

Позволяет пользователю установить определённые функции/свойства в базовой реализации. Базовая реализация не обязана поддерживать все настройки всех свойств в спецификации и может использовать IllegalArgumentException, чтобы сигнализировать, что недопустимое свойство не может быть установлено со значением.

Все реализации, которые реализуют JAXP 1.5 или новее, обязаны поддерживать свойство XMLConstants.ACCESS_EXTERNAL_DTD.

  • Доступ к внешним DTD, внешним ссылкам на сущности ограничен протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения данного свойства, XMLStreamException будет сгенерировано методом XMLStreamReader.next() или XMLEventReader.nextEvent().

Parameters:
name - Имя свойства (не может быть null)
value - Значение свойства
Throws:
IllegalArgumentException - если свойство не поддерживается

getProperty

public abstract Object getProperty(String name)
                            throws IllegalArgumentException

Получить значение функции/свойства из базовой реализации

Parameters:
name - Имя свойства (не может быть null)
Returns:
Значение свойства
Throws:
IllegalArgumentException - если свойство не поддерживается

isPropertySupported

public abstract boolean isPropertySupported(String name)

Запрос набора свойств, которые поддерживает эта фабрика.

Parameters:
name - Имя свойства (не может быть null)
Returns:
true, если свойство поддерживается, и false в противном случае

setEventAllocator

public abstract void setEventAllocator(XMLEventAllocator allocator)

Установить пользовательский аллокатор событий для событий

Parameters:
allocator - пользовательский аллокатор

getEventAllocator

public abstract XMLEventAllocator getEventAllocator()

Получить аллокатор, используемый потоками, созданными с помощью этой фабрики

© 1993, 2020, 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/11/docs/api/java.xml/javax/xml/stream/XMLInputFactory.html

Spec-Zone .ru
спецификации, руководства, описания, API