Класс XMLInputFactory
- java.lang.Object
-
- javax.xml.stream.XMLInputFactory
public abstract class XMLInputFactory extends Object
Определяет абстрактную реализацию фабрики для получения потоков. В следующей таблице определены стандартные свойства этого спецификации. Каждое свойство отличается по уровню поддержки, требуемой каждой реализацией. Уровень необходимой поддержки описан в столбце «Требуется».
| Параметры конфигурации | ||||
|---|---|---|---|---|
| Имя свойства | Поведение | Тип возвращаемого значения | Значение по умолчанию | Требуется |
| javax.xml.stream.isValidating | Включает/выключает проверку DTD, специфичную для реализации | Boolean | False | Нет |
| javax.xml.stream.isNamespaceAware | Включает/выключает обработку пространств имён для поддержки XML 1.0 | Boolean | True | Истина (требуется) / Ложь (необязательно) |
| 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 | Да |
- С тех пор:
- 1.6
- Версия:
- 1.2
- См. также:
-
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(Source source) Создаёт новый XMLEventReader из источника JAXP. |
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 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(Source source) Создаёт новый XMLStreamReader из источника JAXP. |
abstract XMLStreamReader |
createXMLStreamReader(String systemId,
InputStream stream) Создаёт новый XMLStreamReader из java.io.InputStream. |
abstract XMLStreamReader |
createXMLStreamReader(String systemId,
Reader reader) Создаёт новый XMLStreamReader из java.io.InputStream. |
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 |
newFactory() Создаёт новый экземпляр фабрики. |
static XMLInputFactory |
newFactory(String factoryId,
ClassLoader classLoader) Создаёт новый экземпляр фабрики. |
static XMLInputFactory |
newInstance() Создаёт новый экземпляр фабрики точно так же, как метод |
static XMLInputFactory |
newInstance(String factoryId,
ClassLoader classLoader) Устаревший. Этот метод устарел для поддержания согласованности API. Все методы newInstance заменены соответствующими методами newFactory. Замещающий метод |
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()
Методы
newInstance
public static XMLInputFactory newInstance()
throws FactoryConfigurationError Создаёт новый экземпляр фабрики точно так же, как метод newFactory().
- Исключения:
-
FactoryConfigurationError- если экземпляр этой фабрики не может быть загружен
newFactory
public static XMLInputFactory newFactory()
throws FactoryConfigurationError Создаёт новый экземпляр фабрики.
Этот статический метод создаёт новый экземпляр фабрики. Этот метод использует следующий порядок поиска для определения класса реализации XMLInputFactory для загрузки:
- Использует системную переменную javax.xml.stream.XMLInputFactory.
- Использует файл свойств "lib/stax.properties" в каталоге JRE. Этот файл конфигурации имеет стандартный формат java.util.Properties и содержит полное имя класса реализации с ключом, являющимся указанной выше системной переменной.
- Использует средства загрузки поставщиков услуг, определённые классом
ServiceLoader, чтобы попытаться найти и загрузить реализацию сервиса, используя механизм по умолчанию: средство загрузки поставщиков услуг будет использовать текущий контекстный загрузчик классов потока для попытки загрузки сервиса. Если контекстный загрузчик классов равен null, будет использован системный загрузчик классов. - В противном случае возвращается системная реализация по умолчанию.
После того, как приложение получило ссылку на XMLInputFactory, оно может использовать фабрику для настройки и получения экземпляров потока.
Обратите внимание, что это новый метод, который заменяет устаревший метод newInstance(). Этот метод замены не определяет никаких изменений в поведении по сравнению со старым методом.
- Исключения:
-
FactoryConfigurationError- в случае ошибки конфигурации сервиса или если реализация недоступна или не может быть создана.
newInstance
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. - Использует файл свойств "lib/stax.properties" в каталоге JRE. Этот файл конфигурации имеет стандартный формат java.util.Properties и содержит полное имя класса реализации, с ключом, являющимся заданным
factoryId. - Если
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- InputStream для чтения - Исключения:
XMLStreamException
createXMLStreamReader
public abstract XMLStreamReader createXMLStreamReader(InputStream stream,
String encoding)
throws XMLStreamException Создаёт новый XMLStreamReader из java.io.InputStream
- Параметры:
-
stream- InputStream для чтения -
encoding- кодировка символов потока - Исключения:
XMLStreamException
createXMLStreamReader
public abstract XMLStreamReader createXMLStreamReader(String systemId,
InputStream stream)
throws XMLStreamException Создаёт новый XMLStreamReader из java.io.InputStream
- Параметры:
-
systemId- системный идентификатор потока -
stream- InputStream для чтения - Исключения:
XMLStreamException
createXMLStreamReader
public abstract XMLStreamReader createXMLStreamReader(String systemId,
Reader reader)
throws XMLStreamException Создаёт новый XMLStreamReader из java.io.InputStream
- Параметры:
-
systemId- системный идентификатор потока -
reader- InputStream для чтения - Исключения:
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- InputStream для чтения - Исключения:
XMLStreamException
createXMLEventReader
public abstract XMLEventReader createXMLEventReader(InputStream stream,
String encoding)
throws XMLStreamException Создать новый XMLEventReader из java.io.InputStream
- Параметры:
-
stream- InputStream для чтения -
encoding- кодировка символов потока - Исключения:
XMLStreamException
createXMLEventReader
public abstract XMLEventReader createXMLEventReader(String systemId,
InputStream stream)
throws XMLStreamException Создать новый XMLEventReader из java.io.InputStream
- Параметры:
-
systemId- системный идентификатор потока -
stream- InputStream для чтения - Исключения:
XMLStreamException
createFilteredReader
public abstract XMLStreamReader createFilteredReader(XMLStreamReader reader,
StreamFilter filter)
throws XMLStreamException Создать отфильтрованный ридер, который обернёт фильтр вокруг ридера
- Параметры:
-
reader- ридер для фильтрации -
filter- фильтр для применения к ридеру - Исключения:
XMLStreamException
createFilteredReader
public abstract XMLEventReader createFilteredReader(XMLEventReader reader,
EventFilter filter)
throws XMLStreamException Создать отфильтрованный ридер событий, который обернёт фильтр вокруг ридера событий
- Параметры:
-
reader- ридер событий для обёртки -
filter- фильтр для применения к ридеру событий - Исключения:
XMLStreamException
getXMLResolver
public abstract XMLResolver getXMLResolver()
Разрешитель, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.
setXMLResolver
public abstract void setXMLResolver(XMLResolver resolver)
Разрешитель, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.
- Параметры:
-
resolver- разрешитель для использования при разрешении ссылок
getXMLReporter
public abstract XMLReporter getXMLReporter()
Отчётчик, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.
setXMLReporter
public abstract void setXMLReporter(XMLReporter reporter)
Отчётчик, который будет установлен на любом XMLStreamReader или XMLEventReader, созданном этим экземпляром фабрики.
- Параметры:
-
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().
- Параметры:
-
name- имя свойства (не должно быть null) -
value- значение свойства - Исключения:
-
IllegalArgumentException- если свойство не поддерживается
getProperty
public abstract Object getProperty(String name)
throws IllegalArgumentException Получить значение свойства/функции из базовой реализации
- Параметры:
-
name- имя свойства (не должно быть null) - Возвращает:
- Значение свойства
- Исключения:
-
IllegalArgumentException- если свойство не поддерживается
isPropertySupported
public abstract boolean isPropertySupported(String name)
Запрос набора свойств, которые поддерживает эта фабрика.
- Параметры:
-
name- имя свойства (не должно быть null) - Возвращает:
- true, если свойство поддерживается, и false в противном случае
setEventAllocator
public abstract void setEventAllocator(XMLEventAllocator allocator)
Установить пользовательский распределитель событий для событий
- Параметры:
-
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.