Класс 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, в случае, если у элемента есть тип объединения, TypeInfo, возвращаемый вызовом getElementTypeInfo() из события startElement, будет типом объединения. 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, 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/validation/TypeInfoProvider.html