Класс TypeInfoProvider
public abstract class TypeInfoProvider extends Object
ValidatorHandler. Некоторые языки схем, такие как W3C XML Schema, рекомендуют валидатору сообщать "тип", который он назначает каждому атрибуту/элементу. Приложения, которые хотят получить доступ к этой информации о типе, могут вызвать методы, определенные в этом "интерфейсе", чтобы получить доступ к такой информации о типе.
Реализация этого "интерфейса" может быть получена через метод ValidatorHandler.getTypeInfoProvider().
- Since:
- 1.5
- See Also:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Конструктор производного класса. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract TypeInfo |
getAttributeTypeInfo |
Возвращает неизменяемый объект TypeInfo для указанного атрибута текущего элемента. |
abstract TypeInfo |
getElementTypeInfo() |
Возвращает неизменяемый объект TypeInfo для текущего элемента. |
abstract boolean |
isIdAttribute |
Возвращает true, если указанный атрибут определяется как ID. |
abstract boolean |
isSpecified |
Возвращает false, если атрибут был добавлен валидатором. |
Подробное описание конструкторов
TypeInfoProvider
protected TypeInfoProvider()
Конструктор ничего не делает.
Подробное описание методов
getElementTypeInfo
public abstract TypeInfo getElementTypeInfo()
Возвращает неизменяемый объект TypeInfo для текущего элемента.
Метод может быть вызван только событием startElement или endElement обработчика ContentHandler, который приложение устанавливает для ValidatorHandler.
При выполнении валидации W3C XML Schema, в случае, когда у элемента есть тип union, TypeInfo, возвращаемый вызовом getElementTypeInfo() из события startElement, будет типом union. TypeInfo, возвращаемый вызовом из события endElement, будет фактическим типом члена, используемым для валидации элемента.
- Returns:
- Неизменяемый объект
TypeInfo, представляющий тип текущего элемента. Обратите внимание, что вызывающая сторона может сохранять ссылки на полученныйTypeInfoдольше, чем область действия обратного вызова. В противном случае этот метод возвращает null, если валидатор по какой-либо причине не может определить тип текущего элемента (например, если валидатор восстанавливается после ошибки). - Throws:
-
IllegalStateException- Если этот метод вызывается из других методовContentHandler.
getAttributeTypeInfo
public abstract TypeInfo getAttributeTypeInfo(int index)
TypeInfo для указанного атрибута текущего элемента. Метод может быть вызван только событием startElement обработчика ContentHandler, который приложение устанавливает для ValidatorHandler.
- Parameters:
-
index- Индекс атрибута. Тот же индекс, что и для объектаAttributes, переданного в обратный вызовstartElement. - Returns:
- Неизменяемый объект
TypeInfo, представляющий тип указанного атрибута. Обратите внимание, что вызывающая сторона может сохранять ссылки на полученныйTypeInfoдольше, чем область действия обратного вызова. В противном случае этот метод возвращает null, если валидатор не может определить тип. - Throws:
-
IndexOutOfBoundsException- Если индекс некорректен. -
IllegalStateException- Если этот метод вызывается из других методовContentHandler.
isIdAttribute
public abstract boolean isIdAttribute(int index)
true, если указанный атрибут определяется как ID. Точно как атрибут "определяется как ID" зависит от языка схемы. В случае W3C XML Schema это означает, что фактический тип атрибута является встроенным типом ID или его производным типом.
DocumentBuilder использует эту информацию для правильной реализации Attr.isId().
Метод может быть вызван только событием startElement обработчика ContentHandler, который приложение устанавливает для ValidatorHandler.
- Parameters:
-
index- Индекс атрибута. Тот же индекс, что и для объектаAttributes, переданного в обратный вызовstartElement. - Returns:
- true, если тип указанного атрибута является ID.
- Throws:
-
IndexOutOfBoundsException- Если индекс некорректен. -
IllegalStateException- Если этот метод вызывается из других методовContentHandler.
isSpecified
public abstract boolean isSpecified(int index)
false, если атрибут был добавлен валидатором. Этот метод предоставляет информацию, необходимую DocumentBuilder для определения того, что дерево DOM должно вернуть из метода Attr.getSpecified().
Метод может быть вызван только событием startElement обработчика ContentHandler, который приложение устанавливает для ValidatorHandler.
Общее руководство для валидаторов состоит в том, чтобы возвращать true, если атрибут изначально присутствовал в потоке, и false, если он был добавлен валидатором.
- Parameters:
-
index- Индекс атрибута. Тот же индекс, что и для объектаAttributes, переданного в обратный вызовstartElement. - Returns:
-
trueесли атрибут был присутствовал до обработки валидатором.falseесли атрибут был добавлен валидатором. - Throws:
-
IndexOutOfBoundsException- Если индекс некорректен. -
IllegalStateException- Если этот метод вызывается из других методовContentHandler.
© 1993, 2021, 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/17/docs/api/java.xml/javax/xml/validation/TypeInfoProvider.html