<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>Binder</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="Binder";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":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>Prev&nbsp;Class</li>
<li><a href="../../../jakarta/xml/bind/DataBindingException.html" title="class in jakarta.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/bind/Binder.html" target="_top">Frames</a></li>
<li><a href="Binder.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><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>Field&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</div>
<h2 title="Class Binder" class="title">Class Binder&lt;XmlNode&gt;</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>jakarta.xml.bind.Binder&lt;XmlNode&gt;</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">Binder&lt;XmlNode&gt;</span>
extends java.lang.Object</pre>
<div class="block">Enable synchronization between XML infoset nodes and JAXB objects 
 representing same XML document.

 <p>
 An instance of this class maintains the association between XML nodes of
 an infoset preserving view and a JAXB representation of an XML document. 
 Navigation between the two views is provided by the methods
 <a href="../../../jakarta/xml/bind/Binder.html#getXMLNode-java.lang.Object-"><code>getXMLNode(Object)</code></a> and <a href="../../../jakarta/xml/bind/Binder.html#getJAXBNode-XmlNode-"><code>getJAXBNode(Object)</code></a>.
 
 <p>
 Modifications can be made to either the infoset preserving view or the 
 JAXB representation of the document while the other view remains 
 unmodified. The binder is able to synchronize the changes made in the 
 modified view back into the other view using the appropriate
 Binder update methods, <a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or 
 <a href="../../../jakarta/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.
 
 <p>
 A typical usage scenario is the following:
 <ul>
   <li>load XML document into an XML infoset representation</li>
   <li><a href="../../../jakarta/xml/bind/Binder.html#unmarshal-XmlNode-"><code>unmarshal(Object)</code></a> XML infoset view to JAXB view.
       (Note to conserve resources, it is possible to only unmarshal a
       subtree of the XML infoset view to the JAXB view.)</li>
   <li>application access/updates JAXB view of XML document.</li>
   <li><a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-"><code>updateXML(Object)</code></a> synchronizes modifications to JAXB view 
       back into the XML infoset view. Update operation preserves as 
       much of original XML infoset as possible (i.e. comments, PI, ...)</li>
 </ul>
 
 <p>
 A Binder instance is created using the factory method 
 <a href="../../../jakarta/xml/bind/JAXBContext.html#createBinder--"><code>JAXBContext.createBinder()</code></a> or <a href="../../../jakarta/xml/bind/JAXBContext.html#createBinder-java.lang.Class-"><code>JAXBContext.createBinder(Class)</code></a>.

 <p>
 The template parameter, <code>XmlNode</code>, is the
 root interface/class for the XML infoset preserving representation.
 A Binder implementation is required to minimally support
 an <code>XmlNode</code> value of <code>org.w3c.dom.Node.class</code>. 
 A Binder implementation can support alternative XML infoset 
 preserving representations.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAXB 2.0</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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/Binder.html#Binder--">Binder</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></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>abstract <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/Binder.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="i1" class="rowColor">
<td class="colFirst"><code>abstract java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#getJAXBNode-XmlNode-">getJAXBNode</a></span>(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)</code>
<div class="block">Gets the JAXB object associated with the given XML element.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#getProperty-java.lang.String-">getProperty</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Get the particular property in the underlying implementation of
 <code>Binder</code>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract javax.xml.validation.Schema</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#getSchema--">getSchema</a></span>()</code>
<div class="block">Gets the last <code>Schema</code> object (including null) set by the
 <a href="../../../jakarta/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a> method.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#getXMLNode-java.lang.Object-">getXMLNode</a></span>(java.lang.Object&nbsp;jaxbObject)</code>
<div class="block">Gets the XML element associated with the given JAXB object.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-">marshal</a></span>(java.lang.Object&nbsp;jaxbObject,
       <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)</code>
<div class="block">Marshal a JAXB object tree to a new XML document.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.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 <code>ValidationEventHandler</code>.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.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">Set the particular property in the underlying implementation of
 <code>Binder</code>.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-">setSchema</a></span>(javax.xml.validation.Schema&nbsp;schema)</code>
<div class="block">Specifies whether marshal, unmarshal and update methods
 performs validation on their XML content.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>abstract java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#unmarshal-XmlNode-">unmarshal</a></span>(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)</code>
<div class="block">Unmarshal XML infoset view to a JAXB object tree.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract &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/Binder.html#unmarshal-XmlNode-java.lang.Class-">unmarshal</a></span>(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode,
         java.lang.Class&lt;T&gt;&nbsp;declaredType)</code>
<div class="block">Unmarshal XML root element by provided <code>declaredType</code>
 to a JAXB object tree.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract java.lang.Object</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#updateJAXB-XmlNode-">updateJAXB</a></span>(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)</code>
<div class="block">Takes an XML node and updates its associated JAXB object and its descendants.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-">updateXML</a></span>(java.lang.Object&nbsp;jaxbObject)</code>
<div class="block">Takes an JAXB object and updates
 its associated XML node and its descendants.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>abstract <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-">updateXML</a></span>(java.lang.Object&nbsp;jaxbObject,
         <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)</code>
<div class="block">Changes in JAXB object tree are updated in its associated XML parse 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>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="Binder--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Binder</h4>
<pre>public&nbsp;Binder()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="unmarshal-java.lang.Object-">
<!--   -->
</a><a name="unmarshal-XmlNode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public abstract&nbsp;java.lang.Object&nbsp;unmarshal(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                                    throws <a href="../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Unmarshal XML infoset view to a JAXB object tree.

 <p>
 This method is similar to <a href="../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-"><code>Unmarshaller.unmarshal(Node)</code></a>
 with the addition of maintaining the association between XML nodes 
 and the produced JAXB objects, enabling future update operations,
 <a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or <a href="../../../jakarta/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.

 <p>
 When <a href="../../../jakarta/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a> is non-null, <code>xmlNode</code>
 and its descendants is validated during this operation.

 <p>
 This method throws <a href="../../../jakarta/xml/bind/UnmarshalException.html" title="class in jakarta.xml.bind"><code>UnmarshalException</code></a> when the Binder's
 <a href="../../../jakarta/xml/bind/JAXBContext.html" title="class in jakarta.xml.bind"><code>JAXBContext</code></a> does not have a mapping for the XML element name
 or the type, specifiable via <code>@xsi:type</code>, of <code>xmlNode</code>
 to a JAXB mapped class. The method <a href="../../../jakarta/xml/bind/Binder.html#unmarshal-XmlNode-java.lang.Class-"><code>unmarshal(Object, Class)</code></a> 
 enables an application to specify the JAXB mapped class that
 the <code>xmlNode</code> should be mapped to.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>xmlNode</code> - the document/element to unmarshal XML data from.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the newly created root object of the JAXB object 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>Binder</code> is unable to perform the XML to Java
     binding.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If the node parameter is null</dd>
</dl>
</li>
</ul>
<a name="unmarshal-java.lang.Object-java.lang.Class-">
<!--   -->
</a><a name="unmarshal-XmlNode-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unmarshal</h4>
<pre>public abstract&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(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode,
                                             java.lang.Class&lt;T&gt;&nbsp;declaredType)
                                      throws <a href="../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Unmarshal XML root element by provided <code>declaredType</code>
 to a JAXB object tree.

 <p>
 Implements <a href="Unmarshaller.html#unmarshalByDeclaredType">Unmarshal by Declared Type</a>
 
 <p>
 This method is similar to <a href="../../../jakarta/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-"><code>Unmarshaller.unmarshal(Node, Class)</code></a>
 with the addition of maintaining the association between XML nodes 
 and the produced JAXB objects, enabling future update operations,
 <a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or <a href="../../../jakarta/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.

 <p>
 When <a href="../../../jakarta/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a> is non-null, <code>xmlNode</code>
 and its descendants is validated during this operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>xmlNode</code> - the document/element to unmarshal XML data from.</dd>
<dd><code>declaredType</code> - appropriate JAXB mapped class to hold <code>node</code>'s XML data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><a href="JAXBElement.html">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>Binder</code> is unable to perform the XML to Java
     binding.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If any of the input parameters are null</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6, JAXB 2.0</dd>
</dl>
</li>
</ul>
<a name="marshal-java.lang.Object-java.lang.Object-">
<!--   -->
</a><a name="marshal-java.lang.Object-XmlNode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marshal</h4>
<pre>public abstract&nbsp;void&nbsp;marshal(java.lang.Object&nbsp;jaxbObject,
                             <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                      throws <a href="../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Marshal a JAXB object tree to a new XML document.

 <p>
 This method is similar to <a href="../../../jakarta/xml/bind/Marshaller.html#marshal-java.lang.Object-org.w3c.dom.Node-"><code>Marshaller.marshal(Object, Node)</code></a>
 with the addition of maintaining the association between JAXB objects 
 and the produced XML nodes,
 enabling future update operations such as 
 <a href="../../../jakarta/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or <a href="../../../jakarta/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.

 <p>
 When <a href="../../../jakarta/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a> is non-null, the marshalled
 xml content is validated during this operation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jaxbObject</code> - The content tree to be marshalled.</dd>
<dd><code>xmlNode</code> - The parameter must be a Node that accepts children.</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 problem occurs during the marshalling.</dd>
<dd><code><a href="../../../jakarta/xml/bind/MarshalException.html" title="class in jakarta.xml.bind">MarshalException</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>Binder</code> is unable to marshal <code>jaxbObject</code> (or any
      object reachable from <code>jaxbObject</code>).</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If any of the method parameters are null</dd>
</dl>
</li>
</ul>
<a name="getXMLNode-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getXMLNode</h4>
<pre>public abstract&nbsp;<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;getXMLNode(java.lang.Object&nbsp;jaxbObject)</pre>
<div class="block">Gets the XML element associated with the given JAXB object.

 <p>
 Once a JAXB object tree is associated with an XML fragment,
 this method enables navigation between the two trees.

 <p>
 An association between an XML element and a JAXB object is
 established by the bind methods and the update methods.
 Note that this association is partial; not all XML elements
 have associated JAXB objects, and not all JAXB objects have
 associated XML elements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jaxbObject</code> - An instance that is reachable from a prior 
                   call to a bind or update method that returned
                   a JAXB object tree.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null if the specified JAXB object is not known to this
      <a href="../../../jakarta/xml/bind/Binder.html" title="class in jakarta.xml.bind"><code>Binder</code></a>, or if it is not associated with an
      XML element.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the jaxbObject parameter is null</dd>
</dl>
</li>
</ul>
<a name="getJAXBNode-java.lang.Object-">
<!--   -->
</a><a name="getJAXBNode-XmlNode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getJAXBNode</h4>
<pre>public abstract&nbsp;java.lang.Object&nbsp;getJAXBNode(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)</pre>
<div class="block">Gets the JAXB object associated with the given XML element.

 <p>
 Once a JAXB object tree is associated with an XML fragment,
 this method enables navigation between the two trees.

 <p>
 An association between an XML element and a JAXB object is
 established by the unmarshal, marshal and update methods.
 Note that this association is partial; not all XML elements
 have associated JAXB objects, and not all JAXB objects have
 associated XML elements.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null if the specified XML node is not known to this
      <a href="../../../jakarta/xml/bind/Binder.html" title="class in jakarta.xml.bind"><code>Binder</code></a>, or if it is not associated with a
      JAXB object.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - If the node parameter is null</dd>
</dl>
</li>
</ul>
<a name="updateXML-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateXML</h4>
<pre>public abstract&nbsp;<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;updateXML(java.lang.Object&nbsp;jaxbObject)
                           throws <a href="../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Takes an JAXB object and updates
 its associated XML node and its descendants.

 <p>
 This is a convenience method of:
 <pre>
 updateXML( jaxbObject, getXMLNode(jaxbObject));
 </pre></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> - If any unexpected problem occurs updating corresponding XML content.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If the jaxbObject parameter is null</dd>
</dl>
</li>
</ul>
<a name="updateXML-java.lang.Object-java.lang.Object-">
<!--   -->
</a><a name="updateXML-java.lang.Object-XmlNode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateXML</h4>
<pre>public abstract&nbsp;<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;updateXML(java.lang.Object&nbsp;jaxbObject,
                                  <a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                           throws <a href="../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Changes in JAXB object tree are updated in its associated XML parse tree.

 <p>
 This operation can be thought of as an "in-place" marshalling.
 The difference is that instead of creating a whole new XML tree,
 this operation updates an existing tree while trying to preserve
 the XML as much as possible.

 <p>
 For example, unknown elements/attributes in XML that were not bound
 to JAXB will be left untouched (whereas a marshalling operation
 would create a new tree that doesn't contain any of those.)

 <p>
 As a side-effect, this operation updates the association between
 XML nodes and JAXB objects.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>jaxbObject</code> - root of potentially modified JAXB object tree</dd>
<dd><code>xmlNode</code> - root of update target XML parse tree</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the updated XML node. Typically, this is the same
      node you passed in as <i>xmlNode</i>, but it maybe
      a different object, for example when the tag name of the object
      has changed.</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 problem occurs updating corresponding XML content.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If any of the input parameters are null</dd>
</dl>
</li>
</ul>
<a name="updateJAXB-java.lang.Object-">
<!--   -->
</a><a name="updateJAXB-XmlNode-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateJAXB</h4>
<pre>public abstract&nbsp;java.lang.Object&nbsp;updateJAXB(<a href="../../../jakarta/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                                     throws <a href="../../../jakarta/xml/bind/JAXBException.html" title="class in jakarta.xml.bind">JAXBException</a></pre>
<div class="block">Takes an XML node and updates its associated JAXB object and its descendants.

 <p>
 This operation can be thought of as an "in-place" unmarshalling.
 The difference is that instead of creating a whole new JAXB tree,
 this operation updates an existing tree, reusing as much JAXB objects
 as possible.

 <p>
 As a side-effect, this operation updates the association between
 XML nodes and JAXB objects.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the updated JAXB object. Typically, this is the same
      object that was returned from earlier
      <a href="../../../jakarta/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-"><code>marshal(Object,Object)</code></a> or
      <a href="../../../jakarta/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a> method invocation,
      but it maybe
      a different object, for example when the name of the XML
      element has changed.</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 problem occurs updating corresponding JAXB mapped content.</dd>
<dd><code>java.lang.IllegalArgumentException</code> - If node parameter is null</dd>
</dl>
</li>
</ul>
<a name="setSchema-javax.xml.validation.Schema-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSchema</h4>
<pre>public abstract&nbsp;void&nbsp;setSchema(javax.xml.validation.Schema&nbsp;schema)</pre>
<div class="block">Specifies whether marshal, unmarshal and update methods
 performs validation on their XML content.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>schema</code> - set to null to disable validation.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../jakarta/xml/bind/Unmarshaller.html#setSchema-javax.xml.validation.Schema-"><code>Unmarshaller.setSchema(Schema)</code></a></dd>
</dl>
</li>
</ul>
<a name="getSchema--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchema</h4>
<pre>public abstract&nbsp;javax.xml.validation.Schema&nbsp;getSchema()</pre>
<div class="block">Gets the last <code>Schema</code> object (including null) set by the
 <a href="../../../jakarta/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a> method.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the Schema object for validation or null if not present</dd>
</dl>
</li>
</ul>
<a name="setEventHandler-jakarta.xml.bind.ValidationEventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEventHandler</h4>
<pre>public abstract&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 <code>ValidationEventHandler</code>.
 <p>
 The <code>ValidationEventHandler</code> will be called by the JAXB Provider
 if any validation errors are encountered during calls to any of the
 Binder unmarshal, marshal and update methods.  
 
 <p>
 Calling this method with a null parameter will cause the Binder
 to revert back to the default default event handler.</div>
<dl>
<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="getEventHandler--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEventHandler</h4>
<pre>public abstract&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="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="setProperty-java.lang.String-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setProperty</h4>
<pre>public abstract&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">Set the particular property in the underlying implementation of
 <code>Binder</code>.  This method can only be used to set one of
 the standard JAXB defined unmarshal/marshal properties 
 or a provider specific property for binder, unmarshal or marshal.
 Attempting to set an undefined property will result in
 a PropertyException being thrown.  See 
 <a href="Unmarshaller.html#supportedProps">Supported Unmarshal Properties</a>
 and
 <a href="Marshaller.html#supportedProps">Supported Marshal Properties</a>.</div>
<dl>
<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>
<dd><code>java.lang.IllegalArgumentException</code> - If the name parameter is null</dd>
</dl>
</li>
</ul>
<a name="getProperty-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getProperty</h4>
<pre>public abstract&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">Get the particular property in the underlying implementation of
 <code>Binder</code>.  This method can only
 be used to get one of
 the standard JAXB defined unmarshal/marshal properties 
 or a provider specific property for binder, unmarshal or marshal.  
 Attempting to get an undefined property will result in
 a PropertyException being thrown.  See 
 <a href="Unmarshaller.html#supportedProps">Supported Unmarshal Properties</a>
 and
 <a href="Marshaller.html#supportedProps">Supported Marshal Properties</a>.</div>
<dl>
<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>
<dd><code>java.lang.IllegalArgumentException</code> - If the name parameter 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>Prev&nbsp;Class</li>
<li><a href="../../../jakarta/xml/bind/DataBindingException.html" title="class in jakarta.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/bind/Binder.html" target="_top">Frames</a></li>
<li><a href="Binder.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><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>Field&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>
