Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Validator
Класс Validator ответственен за управление проверкой допустимости деревьев контента в течение времени выполнения.
Три Формы Проверки допустимости
- Неупорядочьте разовую Проверку допустимости
- Эта форма проверки допустимости позволяет клиентскому приложению получить информацию об ошибках проверки допустимости и предупреждениях, обнаруженных, неупорядочивая данные XML в дерево контента Java, и является абсолютно ортогональной к другим типам проверки допустимости. Чтобы включить или отключить это, см. javadoc для
Unmarshaller.setValidating
. Все JAXB 1.0 Провайдера обязаны поддерживать эту работу.- По требованию Проверка допустимости
- Эта форма проверки допустимости позволяет клиентскому приложению получить информацию об ошибках проверки допустимости и предупреждениях, обнаруженных в дереве контента Java. В любой точке клиентские приложения могут вызвать
Validator.validate
метод на дереве контента Java (или любое поддерево этого). Все JAXB 1.0 Провайдера обязаны поддерживать эту работу.- Проверка допустимости сбоя быстро
- Эта форма проверки допустимости позволяет клиентскому приложению получить непосредственную обратную связь о модификациях к дереву контента Java, которые нарушают ограничения типа на Свойства Java как определено в спецификации. Провайдеры JAXB не требуются, поддерживают этот тип проверки допустимости. Из Провайдеров JAXB, которые действительно поддерживают этот тип проверки допустимости, некоторые могут потребовать, чтобы Вы решили во время компиляции схемы, позволят ли клиентскому приложению запросить проверку допустимости сбоя быстро во время выполнения.
Класс Validator ответственен за управление По требованию Проверкой допустимости. Класс Unmarshaller ответственен за управление, Неупорядочивают разовую Проверку допустимости во время неупорядочивать операций. Хотя нет никакого формального метода включения проверке допустимости во время упорядочивать операций, Marshaller может обнаружить ошибки, о которых сообщат ValidationEventHandler, зарегистрированному на этом.
Используя Значение по умолчанию EventHandler
Если клиентское приложение не установит обработчик событий на их Validator, Unmarshaller, или Marshaller до вызова проверения, неупорядочит, или упорядочит методы, то обработчик стандартного события получит уведомление о любых ошибках или предупреждениях, с которыми встречаются. Обработчик стандартного события заставит текущую работу останавливаться после обнаружения с первой ошибкой или фатальной ошибкой (но попытается продолжаться после получения предупреждений).
Обработка Событий Проверки допустимости
Есть три способа обработать события, с которыми встречаются во время неупорядочивания, проверить, и упорядочить операции:
- Используйте обработчик стандартного события
- Обработчик стандартного события будет использоваться, если Вы не определите один через API setEventHandler на Validator, Unmarshaller, или Marshaller.
- Реализуйте и зарегистрируйте пользовательский обработчик событий
- Клиентские приложения, которые требуют сложной обработки событий, могут реализовать интерфейс ValidationEventHandler и зарегистрировать ее в Unmarshaller и/или Validator.
- Используйте
ValidationEventCollector
утилита- Для удобства специализированный обработчик событий - то, при условии, что просто собирает любые объекты ValidationEvent, создаваемые во время неупорядочивания, проверьте, и упорядочьте операции, и возвращает их клиентскому приложению как java.util.Collection.
Проверка допустимости и Отмеченность
События проверки допустимости обрабатываются по-другому в зависимости от того, как клиентское приложение конфигурируется, чтобы обработать их как описано в предыдущем разделе. Однако, есть определенные случаи, где Провайдер JAXB указывает, что больше не в состоянии достоверно обнаружить и сообщить об ошибках. В этих случаях Провайдер JAXB установит серьезность ValidationEvent к FATAL_ERROR, чтобы указать, что неупорядочивание, проверьте, или упорядочьте операции, должен быть завершен. Обработчик стандартного события и класс утилиты ValidationEventCollector должны завершить обработку, будучи уведомленным относительно фатальной ошибки. Клиентские приложения, которые предоставляют их собственный ValidationEventHandler, должны также завершить обработку, будучи уведомленным относительно фатальной ошибки. В противном случае неожиданное поведение может произойти.
В настоящий момент нет никаких свойств, требуемых поддерживаться всеми Провайдерами JAXB на Блоке проверки допустимости. Однако, некоторые провайдеры могут поддерживать свой собственный набор провайдера определенные свойства.
JAXBContext
, Unmarshaller
, ValidationEventHandler
, ValidationEvent
, ValidationEventCollector
Модификатор и Тип | Метод и Описание |
---|---|
ValidationEventHandler |
getEventHandler()
Осуждаемый.
начиная с JAXB2.0
|
Объект |
getProperty(String name)
Осуждаемый.
начиная с JAXB2.0
|
void |
setEventHandler(ValidationEventHandler handler)
Осуждаемый.
начиная с JAXB2.0
|
void |
setProperty(String name, Object value)
Осуждаемый.
начиная с JAXB2.0
|
boolean |
validate(Object subrootObj)
Осуждаемый.
начиная с JAXB2.0
|
boolean |
validateRoot(Object rootObj)
Осуждаемый.
начиная с JAXB2.0
|
void setEventHandler(ValidationEventHandler handler) throws JAXBException
Обработчик событий проверки допустимости вызовет Провайдер JAXB, если с какими-либо ошибками проверки допустимости встретятся во время звонков validate
. Если клиентское приложение не зарегистрирует обработчик событий проверки допустимости прежде, чем вызвать проверить метод, то события проверки допустимости будут обработаны обработчиком стандартного события, который завершит проверить работу после первой ошибки, или с фатальной ошибкой встречаются.
Вызов этого метода с нулевым параметром заставит Блок проверки допустимости возвращаться назад к обработчику стандартного события по умолчанию.
handler
- обработчик событий проверки допустимостиJAXBException
- если с ошибкой встретились, устанавливая обработчик событийValidationEventHandler getEventHandler() throws JAXBException
JAXBException
- если с ошибкой встретились, получая текущий обработчик событийboolean validate(Object subrootObj) throws JAXBException
Клиентские приложения могут использовать этот метод, чтобы проверить деревьев контента Java по требованию во время выполнения. Этот метод может использоваться, чтобы проверить любого произвольного поддерева дерева контента Java. Глобальная ограничительная проверка не будет выполняться как часть этой работы (то есть. Ограничения ID/IDREF).
subrootObj
- obj, чтобы начать проверку допустимости вJAXBException
- если какая-либо неожиданная проблема происходит во время проверки допустимостиValidationException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Validator неспособен проверить дерева контента, базированного в subrootObjIllegalArgumentException
- Если subrootObj параметр является нулемboolean validateRoot(Object rootObj) throws JAXBException
Клиентские приложения могут использовать этот метод, чтобы проверить деревьев контента Java по требованию во время выполнения. Этот метод используется, чтобы проверить всего дерева контента Java. Глобальная ограничительная проверка будет выполняться как часть этой работы (то есть. Ограничения ID/IDREF).
rootObj
- корень obj, чтобы начать проверку допустимости вJAXBException
- если какая-либо неожиданная проблема происходит во время проверки допустимостиValidationException
- Если ValidationEventHandler
возвращает false от его метода handleEvent, или Validator неспособен проверить дерева контента, базированного в rootObjIllegalArgumentException
- Если rootObj параметр является нулемvoid setProperty(String name, Object value) throws PropertyException
name
- имя свойства, которое будет установлено. Это значение может или быть определено, используя одно из постоянных полей или пользователя предоставленная строка.value
- значение свойства, которое будет установленоPropertyException
- когда есть ошибка, обрабатывая данное свойство или значениеIllegalArgumentException
- Если параметр имени является нулемObject getProperty(String name) throws PropertyException
name
- имя свойства, чтобы получитьPropertyException
- когда есть ошибка, получая данное свойство или имя свойства значенияIllegalArgumentException
- Если параметр имени является нулем
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.