<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>AbstractUnmarshallerImpl</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="AbstractUnmarshallerImpl";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":6,"i28":10,"i29":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete 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="../../../../jakarta/xml/bind/helpers/AbstractMarshallerImpl.html" title="class in jakarta.xml.bind.helpers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../jakarta/xml/bind/helpers/DefaultValidationEventHandler.html" title="class in jakarta.xml.bind.helpers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html" target="_top">Frames</a></li>
<li><a href="AbstractUnmarshallerImpl.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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">jakarta.xml.bind.helpers</div>
<h2 title="Class AbstractUnmarshallerImpl" class="title">Class AbstractUnmarshallerImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>jakarta.xml.bind.helpers.AbstractUnmarshallerImpl</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">AbstractUnmarshallerImpl</span>
extends java.lang.Object
implements <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></pre>
<div class="block">Partial default <code>Unmarshaller</code> implementation.
 
 <p>
 This class provides a partial default implementation for the
 <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a>interface.
 
 <p>
 A JAXB Provider has to implement five methods (getUnmarshallerHandler,
 unmarshal(Node), unmarshal(XMLReader,InputSource),
 unmarshal(XMLStreamReader), and unmarshal(XMLEventReader).</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="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.jakarta.xml.bind.Unmarshaller">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;jakarta.xml.bind.<a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></h3>
<code><a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind">Unmarshaller.Listener</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#validating">validating</a></span></code>
<div class="block">whether or not the unmarshaller will validate</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#AbstractUnmarshallerImpl--">AbstractUnmarshallerImpl</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== 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><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>protected <a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#createUnmarshalException-org.xml.sax.SAXException-">createUnmarshalException</a></span>(org.xml.sax.SAXException&nbsp;e)</code>
<div class="block">Creates an UnmarshalException from a SAXException.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>&lt;A extends <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters">XmlAdapter</a>&gt;<br>A</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getAdapter-java.lang.Class-">getAdapter</a></span>(java.lang.Class&lt;A&gt;&nbsp;type)</code>
<div class="block">Gets the adapter associated with the specified type.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in jakarta.xml.bind.attachment">AttachmentUnmarshaller</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getAttachmentUnmarshaller--">getAttachmentUnmarshaller</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind">ValidationEventHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getEventHandler--">getEventHandler</a></span>()</code>
<div class="block">Return the current event handler or the default event handler if one
 hasn't been set.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind">Unmarshaller.Listener</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getListener--">getListener</a></span>()</code>
<div class="block">Return <a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind"><code>Unmarshaller.Listener</code></a> registered with this <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getProperty-java.lang.String-">getProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Default implementation of the getProperty method always 
 throws PropertyException since there are no required
 properties.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>javax.xml.validation.Schema</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getSchema--">getSchema</a></span>()</code>
<div class="block">Get the JAXP 1.3 <code>Schema</code> object
 being used to perform unmarshal-time validation.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected org.xml.sax.XMLReader</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#getXMLReader--">getXMLReader</a></span>()</code>
<div class="block">Obtains a configured XMLReader.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#isValidating--">isValidating</a></span>()</code>
<div class="block">Indicates whether or not the Unmarshaller is configured to validate
 during unmarshal operations.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>&lt;A extends <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters">XmlAdapter</a>&gt;<br>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setAdapter-java.lang.Class-A-">setAdapter</a></span>(java.lang.Class&lt;A&gt;&nbsp;type,
          A&nbsp;adapter)</code>
<div class="block">Associates a configured instance of <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters"><code>XmlAdapter</code></a> with this unmarshaller.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setAdapter-jakarta.xml.bind.annotation.adapters.XmlAdapter-">setAdapter</a></span>(<a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters">XmlAdapter</a>&nbsp;adapter)</code>
<div class="block">Associates a configured instance of <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters"><code>XmlAdapter</code></a> with this unmarshaller.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setAttachmentUnmarshaller-jakarta.xml.bind.attachment.AttachmentUnmarshaller-">setAttachmentUnmarshaller</a></span>(<a href="../../../../jakarta/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in jakarta.xml.bind.attachment">AttachmentUnmarshaller</a>&nbsp;au)</code>
<div class="block">Associate a context that resolves cid's, content-id URIs, to
 binary data passed as attachments.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setEventHandler-jakarta.xml.bind.ValidationEventHandler-">setEventHandler</a></span>(<a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind">ValidationEventHandler</a>&nbsp;handler)</code>
<div class="block">Allow an application to register a validation event handler.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setListener-jakarta.xml.bind.Unmarshaller.Listener-">setListener</a></span>(<a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind">Unmarshaller.Listener</a>&nbsp;listener)</code>
<div class="block">
 Register unmarshal event callback <a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind"><code>Unmarshaller.Listener</code></a> with this <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a></span>(java.lang.String&nbsp;name,
           java.lang.Object&nbsp;value)</code>
<div class="block">Default implementation of the setProperty method always 
 throws PropertyException since there are no required
 properties.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setSchema-javax.xml.validation.Schema-">setSchema</a></span>(javax.xml.validation.Schema&nbsp;schema)</code>
<div class="block">Specify the JAXP 1.3 <code>Schema</code>
 object that should be used to validate subsequent unmarshal operations
 against.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#setValidating-boolean-">setValidating</a></span>(boolean&nbsp;validating)</code>
<div class="block">Specifies whether or not the Unmarshaller should validate during
 unmarshal operations.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.io.File-">unmarshal</a></span>(java.io.File&nbsp;f)</code>
<div class="block">Unmarshal XML data from the specified file and return the resulting
 content tree.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-org.xml.sax.InputSource-">unmarshal</a></span>(org.xml.sax.InputSource&nbsp;source)</code>
<div class="block">Unmarshal XML data from the specified SAX InputSource and return the
 resulting content tree.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.io.InputStream-">unmarshal</a></span>(java.io.InputStream&nbsp;is)</code>
<div class="block">Unmarshal XML data from the specified InputStream and return the 
 resulting content tree.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-org.w3c.dom.Node-java.lang.Class-">unmarshal</a></span>(org.w3c.dom.Node&nbsp;node,
         java.lang.Class&lt;T&gt;&nbsp;expectedType)</code>
<div class="block">Unmarshal XML data by JAXB mapped <code>declaredType</code>
 and return the resulting content tree.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.io.Reader-">unmarshal</a></span>(java.io.Reader&nbsp;reader)</code>
<div class="block">Unmarshal XML data from the specified Reader and return the
 resulting content tree.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.transform.Source-">unmarshal</a></span>(javax.xml.transform.Source&nbsp;source)</code>
<div class="block">Unmarshal XML data from the specified XML Source and return the 
 resulting content tree.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.transform.Source-java.lang.Class-">unmarshal</a></span>(javax.xml.transform.Source&nbsp;source,
         java.lang.Class&lt;T&gt;&nbsp;expectedType)</code>
<div class="block">Unmarshal XML data from the specified XML Source by <code>declaredType</code> and return the
 resulting content tree.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-java.net.URL-">unmarshal</a></span>(java.net.URL&nbsp;url)</code>
<div class="block">Unmarshal XML data from the specified URL and return the resulting
 content tree.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLEventReader-">unmarshal</a></span>(javax.xml.stream.XMLEventReader&nbsp;reader)</code>
<div class="block">Unmarshal XML data from the specified pull parser and return the
 resulting content tree.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">unmarshal</a></span>(javax.xml.stream.XMLEventReader&nbsp;reader,
         java.lang.Class&lt;T&gt;&nbsp;expectedType)</code>
<div class="block">Unmarshal root element to JAXB mapped <code>declaredType</code>
 and return the resulting content tree.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected abstract java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-org.xml.sax.XMLReader-org.xml.sax.InputSource-">unmarshal</a></span>(org.xml.sax.XMLReader&nbsp;reader,
         org.xml.sax.InputSource&nbsp;source)</code>
<div class="block">Unmarshals an object by using the specified XMLReader and the InputSource.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLStreamReader-">unmarshal</a></span>(javax.xml.stream.XMLStreamReader&nbsp;reader)</code>
<div class="block">Unmarshal XML data from the specified pull parser and return the
 resulting content tree.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">unmarshal</a></span>(javax.xml.stream.XMLStreamReader&nbsp;reader,
         java.lang.Class&lt;T&gt;&nbsp;expectedType)</code>
<div class="block">Unmarshal root element to JAXB mapped <code>declaredType</code>
 and return the resulting content tree.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.jakarta.xml.bind.Unmarshaller">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;jakarta.xml.bind.<a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></h3>
<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getUnmarshallerHandler--">getUnmarshallerHandler</a>, <a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-">unmarshal</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="validating">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>validating</h4>
<pre>protected&nbsp;boolean validating</pre>
<div class="block">whether or not the unmarshaller will validate</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="AbstractUnmarshallerImpl--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractUnmarshallerImpl</h4>
<pre>public&nbsp;AbstractUnmarshallerImpl()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getXMLReader--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getXMLReader</h4>
<pre>protected&nbsp;org.xml.sax.XMLReader&nbsp;getXMLReader()
                                      throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Obtains a configured XMLReader.
 
 This method is used when the client-specified
 <code>SAXSource</code> object doesn't have XMLReader.
 
 <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a> is not re-entrant, so we will
 only use one instance of XMLReader.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code></dd>
</dl>
</li>
</ul>
<a name="unmarshal-javax.xml.transform.Source-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;java.lang.Object&nbsp;unmarshal(javax.xml.transform.Source&nbsp;source)
                           throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified XML Source and return the 
 resulting content tree.  

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.

 <p>
 <a id="saxParserPlugable"></a>
 <b>SAX 2.0 Parser Pluggability</b>
 <p>
 A client application can choose not to use the default parser mechanism
 supplied with their JAXB provider.  Any SAX 2.0 compliant parser can be
 substituted for the JAXB provider's default mechanism.  To do so, the
 client application must properly configure a <code>SAXSource</code> containing
 an <code>XMLReader</code> implemented by the SAX 2.0 parser provider.  If the
 <code>XMLReader</code> has an <code>org.xml.sax.ErrorHandler</code> registered
 on it, it will be replaced by the JAXB Provider so that validation errors
 can be reported via the <code>ValidationEventHandler</code> mechanism of
 JAXB.  If the <code>SAXSource</code> does not contain an <code>XMLReader</code>,
 then the JAXB provider's default parser mechanism will be used.
 <p>
 This parser replacement mechanism can also be used to replace the JAXB
 provider's unmarshal-time validation engine.  The client application 
 must properly configure their SAX 2.0 compliant parser to perform
 validation (as shown in the example above).  Any <code>SAXParserExceptions</code>
 encountered by the parser during the unmarshal operation will be
 processed by the JAXB provider and converted into JAXB 
 <code>ValidationEvent</code> objects which will be reported back to the
 client via the <code>ValidationEventHandler</code> registered with the
 <code>Unmarshaller</code>.  <i>Note:</i> specifying a substitute validating
 SAX 2.0 parser for unmarshalling does not necessarily replace the 
 validation engine used by the JAXB provider for performing on-demand 
 validation.
 <p>
 The only way for a client application to specify an alternate parser
 mechanism to be used during unmarshal is via the 
 <code>unmarshal(SAXSource)</code> API.  All other forms of the unmarshal
 method (File, URL, Node, etc) will use the JAXB provider's default 
 parser and validator mechanisms.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the XML Source to unmarshal XML data from (providers are
        only required to support SAXSource, DOMSource, and StreamSource)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-java.lang.Class-"><code>Unmarshaller.unmarshal(javax.xml.transform.Source, Class)</code></a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-org.xml.sax.XMLReader-org.xml.sax.InputSource-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>protected abstract&nbsp;java.lang.Object&nbsp;unmarshal(org.xml.sax.XMLReader&nbsp;reader,
                                              org.xml.sax.InputSource&nbsp;source)
                                       throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Unmarshals an object by using the specified XMLReader and the InputSource.
 
 The callee should call the setErrorHandler method of the XMLReader
 so that errors are passed to the client-specified ValidationEventHandler.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code></dd>
</dl>
</li>
</ul>
<a name="unmarshal-org.xml.sax.InputSource-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public final&nbsp;java.lang.Object&nbsp;unmarshal(org.xml.sax.InputSource&nbsp;source)
                                 throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.xml.sax.InputSource-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified SAX InputSource and return the
 resulting content tree.

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.xml.sax.InputSource-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the input source to unmarshal XML data from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-java.net.URL-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public final&nbsp;java.lang.Object&nbsp;unmarshal(java.net.URL&nbsp;url)
                                 throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.net.URL-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified URL and return the resulting
 content tree.

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.net.URL-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>url</code> - the url to unmarshal XML data from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-java.io.File-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public final&nbsp;java.lang.Object&nbsp;unmarshal(java.io.File&nbsp;f)
                                 throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.io.File-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified file and return the resulting
 content tree.

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.io.File-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>f</code> - the file to unmarshal XML data from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-java.io.InputStream-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public final&nbsp;java.lang.Object&nbsp;unmarshal(java.io.InputStream&nbsp;is)
                                 throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.io.InputStream-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified InputStream and return the 
 resulting content tree.  Validation event location information may
 be incomplete when using this form of the unmarshal API.

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.io.InputStream-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>is</code> - the InputStream to unmarshal XML data from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-java.io.Reader-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public final&nbsp;java.lang.Object&nbsp;unmarshal(java.io.Reader&nbsp;reader)
                                 throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.io.Reader-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified Reader and return the
 resulting content tree.  Validation event location information may
 be incomplete when using this form of the unmarshal API,
 because a Reader does not provide the system ID.

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-java.io.Reader-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reader</code> - the Reader to unmarshal XML data from</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="isValidating--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValidating</h4>
<pre>public&nbsp;boolean&nbsp;isValidating()
                     throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Indicates whether or not the Unmarshaller is configured to validate
 during unmarshal operations.
 <p>
 <i><b>Note:</b> I named this method isValidating() to stay in-line
 with JAXP, as opposed to naming it getValidating(). </i></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#isValidating--">isValidating</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the Unmarshaller is configured to validate during
        unmarshal operations, false otherwise</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - if an error occurs while retrieving the validating
        flag</dd>
</dl>
</li>
</ul>
<a name="setEventHandler-jakarta.xml.bind.ValidationEventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEventHandler</h4>
<pre>public&nbsp;void&nbsp;setEventHandler(<a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind">ValidationEventHandler</a>&nbsp;handler)
                     throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Allow an application to register a validation event handler.
 <p>
 The validation event handler will be called by the JAXB Provider if any
 validation errors are encountered during calls to any of the
 <code>unmarshal</code> methods.  If the client application does not register
 a validation event handler before invoking the unmarshal methods, then
 all validation events will be silently ignored and may result in
 unexpected behaviour.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setEventHandler-jakarta.xml.bind.ValidationEventHandler-">setEventHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - the validation event handler</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - if an error was encountered while setting the
        event handler</dd>
</dl>
</li>
</ul>
<a name="setValidating-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValidating</h4>
<pre>public&nbsp;void&nbsp;setValidating(boolean&nbsp;validating)
                   throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Specifies whether or not the Unmarshaller should validate during
 unmarshal operations. By default, the <code>Unmarshaller</code> does
 not validate.
 <p>
 This method may only be invoked before or after calling one of the
 unmarshal methods.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setValidating-boolean-">setValidating</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>validating</code> - true if the Unmarshaller should validate during
       unmarshal, false otherwise</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - if an error occurred while enabling or disabling
 validation at unmarshal time</dd>
</dl>
</li>
</ul>
<a name="getEventHandler--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventHandler</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind">ValidationEventHandler</a>&nbsp;getEventHandler()
                                       throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Return the current event handler or the default event handler if one
 hasn't been set.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getEventHandler--">getEventHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current ValidationEventHandler or the default event handler
        if it hasn't been set</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - if an error was encountered while getting the
        current event handler</dd>
</dl>
</li>
</ul>
<a name="createUnmarshalException-org.xml.sax.SAXException-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createUnmarshalException</h4>
<pre>protected&nbsp;<a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a>&nbsp;createUnmarshalException(org.xml.sax.SAXException&nbsp;e)</pre>
<div class="block">Creates an UnmarshalException from a SAXException.
 
 This is an utility method provided for the derived classes.
 
 <p>
 When a provider-implemented ContentHandler wants to throw a
 JAXBException, it needs to wrap the exception by a SAXException.
 If the unmarshaller implementation blindly wrap SAXException
 by JAXBException, such an exception will be a JAXBException
 wrapped by a SAXException wrapped by another JAXBException.
 This is silly.
 
 <p>
 This method checks the nested exception of SAXException
 and reduce those excessive wrapping.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the resulting UnmarshalException</dd>
</dl>
</li>
</ul>
<a name="setProperty-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public&nbsp;void&nbsp;setProperty(java.lang.String&nbsp;name,
                        java.lang.Object&nbsp;value)
                 throws <a href="../../../../jakarta/xml/bind/PropertyException.html" title="class in jakarta.xml.bind">PropertyException</a></pre>
<div class="block">Default implementation of the setProperty method always 
 throws PropertyException since there are no required
 properties. If a provider needs to handle additional 
 properties, it should override this method in a derived class.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setProperty-java.lang.String-java.lang.Object-">setProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property to be set. This value can either
              be specified using one of the constant fields or a user 
              supplied string.</dd>
<dd><code>value</code> - the value of the property to be set</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/PropertyException.html" title="class in jakarta.xml.bind">PropertyException</a></code> - when there is an error processing the given
                            property or value</dd>
</dl>
</li>
</ul>
<a name="getProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProperty</h4>
<pre>public&nbsp;java.lang.Object&nbsp;getProperty(java.lang.String&nbsp;name)
                             throws <a href="../../../../jakarta/xml/bind/PropertyException.html" title="class in jakarta.xml.bind">PropertyException</a></pre>
<div class="block">Default implementation of the getProperty method always 
 throws PropertyException since there are no required
 properties. If a provider needs to handle additional 
 properties, it should override this method in a derived class.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getProperty-java.lang.String-">getProperty</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the property to retrieve</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the value of the requested property</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/PropertyException.html" title="class in jakarta.xml.bind">PropertyException</a></code> - when there is an error retrieving the given property or value
      property name</dd>
</dl>
</li>
</ul>
<a name="unmarshal-javax.xml.stream.XMLEventReader-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;java.lang.Object&nbsp;unmarshal(javax.xml.stream.XMLEventReader&nbsp;reader)
                           throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified pull parser and return the
 resulting content tree.

 <p>
 This method is an <a href="#unmarshalGlobal">Unmarshal Global Root method</a>.

 <p>
 This method assumes that the parser is on a START_DOCUMENT or
 START_ELEMENT event.  Unmarshalling will be done from this 
 start event to the corresponding end event.  If this method 
 returns successfully, the <code>reader</code> will be pointing at 
 the token right after the end event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reader</code> - The parser to be read.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-"><code>Unmarshaller.unmarshal(javax.xml.stream.XMLEventReader, Class)</code></a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-javax.xml.stream.XMLStreamReader-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;java.lang.Object&nbsp;unmarshal(javax.xml.stream.XMLStreamReader&nbsp;reader)
                           throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified pull parser and return the
 resulting content tree.

 <p>
 Implements <a href="#unmarshalGlobal">Unmarshal Global Root Element</a>.
 
 <p>
 This method assumes that the parser is on a START_DOCUMENT or
 START_ELEMENT event.  Unmarshalling will be done from this 
 start event to the corresponding end event.  If this method 
 returns successfully, the <code>reader</code> will be pointing at
 the token right after the end event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reader</code> - The parser to be read.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the java content tree.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-"><code>Unmarshaller.unmarshal(javax.xml.stream.XMLStreamReader, Class)</code></a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-org.w3c.dom.Node-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;&nbsp;unmarshal(org.w3c.dom.Node&nbsp;node,
                                    java.lang.Class&lt;T&gt;&nbsp;expectedType)
                             throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data by JAXB mapped <code>declaredType</code>
 and return the resulting content tree.

 <p>
 Implements <a href="#unmarshalByDeclaredType">Unmarshal by Declared Type</a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>node</code> - the document/element to unmarshal XML data from.
      The caller must support at least Document and Element.</dd>
<dd><code>expectedType</code> - appropriate JAXB mapped class to hold <code>node</code>'s XML data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="#unmarshalDeclaredTypeReturn">JAXB Element</a> representation of <code>node</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-javax.xml.transform.Source-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;&nbsp;unmarshal(javax.xml.transform.Source&nbsp;source,
                                    java.lang.Class&lt;T&gt;&nbsp;expectedType)
                             throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-java.lang.Class-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal XML data from the specified XML Source by <code>declaredType</code> and return the
 resulting content tree.  

 <p>
 Implements <a href="#unmarshalByDeclaredType">Unmarshal by Declared Type</a>

 <p>
 See <a href="#saxParserPlugable">SAX 2.0 Parser Pluggability</a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.transform.Source-java.lang.Class-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the XML Source to unmarshal XML data from (providers are
        only required to support SAXSource, DOMSource, and StreamSource)</dd>
<dd><code>expectedType</code> - appropriate JAXB mapped class to hold <code>source</code>'s xml root element</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Java content rooted by <a href="#unmarshalDeclaredTypeReturn">JAXB Element</a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;&nbsp;unmarshal(javax.xml.stream.XMLStreamReader&nbsp;reader,
                                    java.lang.Class&lt;T&gt;&nbsp;expectedType)
                             throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal root element to JAXB mapped <code>declaredType</code>
 and return the resulting content tree.
 
 <p>
 This method implements <a href="#unmarshalByDeclaredType">unmarshal by declaredType</a>.
 <p>
 This method assumes that the parser is on a START_DOCUMENT or
 START_ELEMENT event. Unmarshalling will be done from this 
 start event to the corresponding end event.  If this method 
 returns successfully, the <code>reader</code> will be pointing at 
 the token right after the end event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLStreamReader-java.lang.Class-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reader</code> - The parser to be read.</dd>
<dd><code>expectedType</code> - appropriate JAXB mapped class to hold <code>reader</code>'s START_ELEMENT XML data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>content tree rooted by <a href="#unmarshalDeclaredTypeReturn">JAXB Element representation</a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public&nbsp;&lt;T&gt;&nbsp;<a href="../../../../jakarta/xml/bind/JAXBElement.html" title="class in jakarta.xml.bind">JAXBElement</a>&lt;T&gt;&nbsp;unmarshal(javax.xml.stream.XMLEventReader&nbsp;reader,
                                    java.lang.Class&lt;T&gt;&nbsp;expectedType)
                             throws <a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">Unmarshaller</a></code></span></div>
<div class="block">Unmarshal root element to JAXB mapped <code>declaredType</code>
 and return the resulting content tree.
 
 <p>
 This method implements <a href="#unmarshalByDeclaredType">unmarshal by declaredType</a>.

 <p>
 This method assumes that the parser is on a START_DOCUMENT or
 START_ELEMENT event. Unmarshalling will be done from this 
 start event to the corresponding end event.  If this method 
 returns successfully, the <code>reader</code> will be pointing at 
 the token right after the end event.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-javax.xml.stream.XMLEventReader-java.lang.Class-">unmarshal</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>reader</code> - The parser to be read.</dd>
<dd><code>expectedType</code> - appropriate JAXB mapped class to hold <code>reader</code>'s START_ELEMENT XML data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>content tree rooted by <a href="#unmarshalDeclaredTypeReturn">JAXB Element representation</a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind">UnmarshalException</a></code> - If the <a href="../../../../jakarta/xml/bind/ValidationEventHandler.html" title="interface in jakarta.xml.bind"><code>ValidationEventHandler</code></a>
     returns false from its <code>handleEvent</code> method or the
     <code>Unmarshaller</code> is unable to perform the XML to Java
     binding.  See <a href="#unmarshalEx">Unmarshalling XML Data</a></dd>
</dl>
</li>
</ul>
<a name="setSchema-javax.xml.validation.Schema-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSchema</h4>
<pre>public&nbsp;void&nbsp;setSchema(javax.xml.validation.Schema&nbsp;schema)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-">Unmarshaller</a></code></span></div>
<div class="block">Specify the JAXP 1.3 <code>Schema</code>
 object that should be used to validate subsequent unmarshal operations
 against.  Passing null into this method will disable validation.
 <p>
 This method replaces the deprecated <a href="../../../../jakarta/xml/bind/Unmarshaller.html#setValidating-boolean-"><code>setValidating(boolean)</code></a>
 API.

 <p>
 Initially this property is set to <code>null</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-">setSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>schema</code> - Schema object to validate unmarshal operations against or null to disable validation</dd>
</dl>
</li>
</ul>
<a name="getSchema--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchema</h4>
<pre>public&nbsp;javax.xml.validation.Schema&nbsp;getSchema()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getSchema--">Unmarshaller</a></code></span></div>
<div class="block">Get the JAXP 1.3 <code>Schema</code> object
 being used to perform unmarshal-time validation.  If there is no
 Schema set on the unmarshaller, then this method will return null
 indicating that unmarshal-time validation will not be performed.
 <p>
 This method provides replacement functionality for the deprecated
 <a href="../../../../jakarta/xml/bind/Unmarshaller.html#isValidating--"><code>Unmarshaller.isValidating()</code></a> API as well as access to the Schema object.
 To determine if the Unmarshaller has validation enabled, simply
 test the return type for null:
 <pre><code>
   boolean isValidating = u.getSchema()!=null;
 </code></pre></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getSchema--">getSchema</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Schema object being used to perform unmarshal-time
      validation or null if not present</dd>
</dl>
</li>
</ul>
<a name="setAdapter-jakarta.xml.bind.annotation.adapters.XmlAdapter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAdapter</h4>
<pre>public&nbsp;void&nbsp;setAdapter(<a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters">XmlAdapter</a>&nbsp;adapter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAdapter-jakarta.xml.bind.annotation.adapters.XmlAdapter-">Unmarshaller</a></code></span></div>
<div class="block">Associates a configured instance of <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters"><code>XmlAdapter</code></a> with this unmarshaller.

 <p>
 This is a convenience method that invokes <code>setAdapter(adapter.getClass(),adapter);</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAdapter-jakarta.xml.bind.annotation.adapters.XmlAdapter-">setAdapter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAdapter-java.lang.Class-A-"><code>Unmarshaller.setAdapter(Class,XmlAdapter)</code></a></dd>
</dl>
</li>
</ul>
<a name="setAdapter-java.lang.Class-jakarta.xml.bind.annotation.adapters.XmlAdapter-">
<!--   -->
</a><a name="setAdapter-java.lang.Class-A-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAdapter</h4>
<pre>public&nbsp;&lt;A extends <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters">XmlAdapter</a>&gt;&nbsp;void&nbsp;setAdapter(java.lang.Class&lt;A&gt;&nbsp;type,
                                              A&nbsp;adapter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAdapter-java.lang.Class-A-">Unmarshaller</a></code></span></div>
<div class="block">Associates a configured instance of <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters"><code>XmlAdapter</code></a> with this unmarshaller.

 <p>
 Every unmarshaller internally maintains a
 <code>Map</code>&lt;<code>Class</code>,<a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters"><code>XmlAdapter</code></a>&gt;,
 which it uses for unmarshalling classes whose fields/methods are annotated
 with <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlJavaTypeAdapter.html" title="annotation in jakarta.xml.bind.annotation.adapters"><code>XmlJavaTypeAdapter</code></a>.

 <p>
 This method allows applications to use a configured instance of <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters"><code>XmlAdapter</code></a>.
 When an instance of an adapter is not given, an unmarshaller will create
 one by invoking its default constructor.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAdapter-java.lang.Class-A-">setAdapter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - The type of the adapter. The specified instance will be used when
      <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlJavaTypeAdapter.html#value--"><code>XmlJavaTypeAdapter.value()</code></a>
      refers to this type.</dd>
<dd><code>adapter</code> - The instance of the adapter to be used. If null, it will un-register
      the current adapter set for this type.</dd>
</dl>
</li>
</ul>
<a name="getAdapter-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAdapter</h4>
<pre>public&nbsp;&lt;A extends <a href="../../../../jakarta/xml/bind/annotation/adapters/XmlAdapter.html" title="class in jakarta.xml.bind.annotation.adapters">XmlAdapter</a>&gt;&nbsp;A&nbsp;getAdapter(java.lang.Class&lt;A&gt;&nbsp;type)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getAdapter-java.lang.Class-">Unmarshaller</a></code></span></div>
<div class="block">Gets the adapter associated with the specified type.

 This is the reverse operation of the <a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAdapter-jakarta.xml.bind.annotation.adapters.XmlAdapter-"><code>Unmarshaller.setAdapter(jakarta.xml.bind.annotation.adapters.XmlAdapter)</code></a> method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getAdapter-java.lang.Class-">getAdapter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
</dl>
</li>
</ul>
<a name="setAttachmentUnmarshaller-jakarta.xml.bind.attachment.AttachmentUnmarshaller-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAttachmentUnmarshaller</h4>
<pre>public&nbsp;void&nbsp;setAttachmentUnmarshaller(<a href="../../../../jakarta/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in jakarta.xml.bind.attachment">AttachmentUnmarshaller</a>&nbsp;au)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAttachmentUnmarshaller-jakarta.xml.bind.attachment.AttachmentUnmarshaller-">Unmarshaller</a></code></span></div>
<div class="block"><p>Associate a context that resolves cid's, content-id URIs, to
 binary data passed as attachments.</p>
 <p>Unmarshal time validation, enabled via <a href="../../../../jakarta/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-"><code>Unmarshaller.setSchema(Schema)</code></a>,
 must be supported even when unmarshaller is performing XOP processing.
 </p></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setAttachmentUnmarshaller-jakarta.xml.bind.attachment.AttachmentUnmarshaller-">setAttachmentUnmarshaller</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
</dl>
</li>
</ul>
<a name="getAttachmentUnmarshaller--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttachmentUnmarshaller</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/bind/attachment/AttachmentUnmarshaller.html" title="class in jakarta.xml.bind.attachment">AttachmentUnmarshaller</a>&nbsp;getAttachmentUnmarshaller()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getAttachmentUnmarshaller--">getAttachmentUnmarshaller</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
</dl>
</li>
</ul>
<a name="setListener-jakarta.xml.bind.Unmarshaller.Listener-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setListener</h4>
<pre>public&nbsp;void&nbsp;setListener(<a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind">Unmarshaller.Listener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setListener-jakarta.xml.bind.Unmarshaller.Listener-">Unmarshaller</a></code></span></div>
<div class="block"><p>
 Register unmarshal event callback <a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind"><code>Unmarshaller.Listener</code></a> with this <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a>.
 
 <p>
 There is only one Listener per Unmarshaller. Setting a Listener replaces the previous set Listener.
 One can unregister current Listener by setting listener to <code>null</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#setListener-jakarta.xml.bind.Unmarshaller.Listener-">setListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - provides unmarshal event callbacks for this <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a></dd>
</dl>
</li>
</ul>
<a name="getListener--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getListener</h4>
<pre>public&nbsp;<a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind">Unmarshaller.Listener</a>&nbsp;getListener()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getListener--">Unmarshaller</a></code></span></div>
<div class="block"><p>Return <a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind"><code>Unmarshaller.Listener</code></a> registered with this <a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind"><code>Unmarshaller</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../jakarta/xml/bind/Unmarshaller.html#getListener--">getListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../jakarta/xml/bind/Unmarshaller.html" title="interface in jakarta.xml.bind">Unmarshaller</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>registered <a href="../../../../jakarta/xml/bind/Unmarshaller.Listener.html" title="class in jakarta.xml.bind"><code>Unmarshaller.Listener</code></a> or <code>null</code>
         if no Listener is registered with this Unmarshaller.</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="../../../../jakarta/xml/bind/helpers/AbstractMarshallerImpl.html" title="class in jakarta.xml.bind.helpers"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../jakarta/xml/bind/helpers/DefaultValidationEventHandler.html" title="class in jakarta.xml.bind.helpers"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?jakarta/xml/bind/helpers/AbstractUnmarshallerImpl.html" target="_top">Frames</a></li>
<li><a href="AbstractUnmarshallerImpl.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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>
