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