blob: 4a5744a007ea9f4c78ecddff454c71aadb32bcf7 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>ValidationEventHandler</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ValidationEventHandler";
}
}
catch(err) {
}
//-->
var methods = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/xml/bind/ValidationEvent.html" title="interface in javax.xml.bind"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/xml/bind/ValidationEventLocator.html" title="interface in javax.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/bind/ValidationEventHandler.html" target="_top">Frames</a></li>
<li><a href="ValidationEventHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">javax.xml.bind</div>
<h2 title="Interface ValidationEventHandler" class="title">Interface ValidationEventHandler</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../javax/xml/bind/helpers/DefaultValidationEventHandler.html" title="class in javax.xml.bind.helpers">DefaultValidationEventHandler</a>, <a href="../../../javax/xml/bind/util/ValidationEventCollector.html" title="class in javax.xml.bind.util">ValidationEventCollector</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">ValidationEventHandler</span></pre>
<div class="block">A basic event handler interface for validation errors.
<p>
If an application needs to implement customized event handling, it must
implement this interface and then register it with either the
<a href="../../../javax/xml/bind/Unmarshaller.html#setEventHandler-javax.xml.bind.ValidationEventHandler-"><code>Unmarshaller</code></a>,
the <a href="../../../javax/xml/bind/Validator.html#setEventHandler-javax.xml.bind.ValidationEventHandler-"><code>Validator</code></a>, or
the <a href="../../../javax/xml/bind/Marshaller.html#setEventHandler-javax.xml.bind.ValidationEventHandler-"><code>Marshaller</code></a>.
The JAXB Provider will then report validation errors and warnings encountered
during the unmarshal, marshal, and validate operations to these event
handlers.
<p>
If the <code>handleEvent</code> method throws an unchecked runtime exception,
the JAXB Provider must treat that as if the method returned false, effectively
terminating whatever operation was in progress at the time (unmarshal,
validate, or marshal).
<p>
Modifying the Java content tree within your event handler is undefined
by the specification and may result in unexpected behaviour.
<p>
Failing to return false from the <code>handleEvent</code> method after
encountering a fatal error is undefined by the specification and may result
in unexpected behavior.
<p>
<b>Default Event Handler</b>
<blockquote>
See: <a href="Validator.html#defaulthandler">Validator javadocs</a>
</blockquote></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAXB 1.0</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../javax/xml/bind/Unmarshaller.html" title="interface in javax.xml.bind"><code>Unmarshaller</code></a>,
<a href="../../../javax/xml/bind/Validator.html" title="interface in javax.xml.bind"><code>Validator</code></a>,
<a href="../../../javax/xml/bind/Marshaller.html" title="interface in javax.xml.bind"><code>Marshaller</code></a>,
<a href="../../../javax/xml/bind/ValidationEvent.html" title="interface in javax.xml.bind"><code>ValidationEvent</code></a>,
<a href="../../../javax/xml/bind/util/ValidationEventCollector.html" title="class in javax.xml.bind.util"><code>ValidationEventCollector</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/ValidationEventHandler.html#handleEvent-javax.xml.bind.ValidationEvent-">handleEvent</a></span>(<a href="../../../javax/xml/bind/ValidationEvent.html" title="interface in javax.xml.bind">ValidationEvent</a>&nbsp;event)</code>
<div class="block">Receive notification of a validation warning or error.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="handleEvent-javax.xml.bind.ValidationEvent-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>handleEvent</h4>
<pre>boolean&nbsp;handleEvent(<a href="../../../javax/xml/bind/ValidationEvent.html" title="interface in javax.xml.bind">ValidationEvent</a>&nbsp;event)</pre>
<div class="block">Receive notification of a validation warning or error.
The ValidationEvent will have a
<a href="../../../javax/xml/bind/ValidationEventLocator.html" title="interface in javax.xml.bind"><code>ValidationEventLocator</code></a> embedded in it that
indicates where the error or warning occurred.
<p>
If an unchecked runtime exception is thrown from this method, the JAXB
provider will treat it as if the method returned false and interrupt
the current unmarshal, validate, or marshal operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - the encapsulated validation event information. It is a
provider error if this parameter is null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the JAXB 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 <code>UnmarshalException</code>,
<code>ValidationException</code>, or <code>MarshalException</code>.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if the event object is null.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../index-all.html">Index</a></li>
<li><a href="../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../javax/xml/bind/ValidationEvent.html" title="interface in javax.xml.bind"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../javax/xml/bind/ValidationEventLocator.html" title="interface in javax.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/bind/ValidationEventHandler.html" target="_top">Frames</a></li>
<li><a href="ValidationEventHandler.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>