- All Known Implementing Classes:
DefaultValidationEventHandler
,ValidationEventCollector
If an application needs to implement customized event handling, it must
implement this interface and then register it with either the
Unmarshaller
, or
the Marshaller
.
The Jakarta XML Binding Provider will then report validation errors and warnings encountered
during the unmarshal, marshal, and validate operations to these event
handlers.
If the handleEvent
method throws an unchecked runtime exception,
the Jakarta XML Binding Provider must treat that as if the method returned false, effectively
terminating whatever operation was in progress at the time (unmarshal,
validate, or marshal).
Modifying the Java content tree within your event handler is undefined by the specification and may result in unexpected behaviour.
Failing to return false from the handleEvent
method after
encountering a fatal error is undefined by the specification and may result
in unexpected behavior.
Default Event Handler
If the client application does not set an event handler on theirUnmarshaller
, orMarshaller
prior to calling the validate, unmarshal, or marshal methods, then a default event handler will receive notification of any errors or warnings encountered. The default event handler will cause the current operation to halt after encountering the first error or fatal error (but will attempt to continue after receiving warnings).
- Since:
- 1.6, JAXB 1.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionboolean
handleEvent
(ValidationEvent event) Receive notification of a validation warning or error.
-
Method Details
-
handleEvent
Receive notification of a validation warning or error. The ValidationEvent will have aValidationEventLocator
embedded in it that indicates where the error or warning occurred.If an unchecked runtime exception is thrown from this method, the Jakarta XML Binding provider will treat it as if the method returned false and interrupt the current unmarshal, validate, or marshal operation.
- Parameters:
event
- the encapsulated validation event information. It is a provider error if this parameter is null.- Returns:
- true if the Jakarta XML Binding Provider should attempt to continue the current
unmarshal, validate, or marshal operation after handling this
warning/error, false if the provider should terminate the current
operation with the appropriate
UnmarshalException
,ValidationException
, orMarshalException
. - Throws:
IllegalArgumentException
- if the event object is null.
-