<!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="../../../javax/xml/bind/DataBindingException.html" title="class in javax.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/bind/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">javax.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>javax.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="../../../javax/xml/bind/Binder.html#getXMLNode-java.lang.Object-"><code>getXMLNode(Object)</code></a> and <a href="../../../javax/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="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or 
 <a href="../../../javax/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="../../../javax/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="../../../javax/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="../../../javax/xml/bind/JAXBContext.html#createBinder--"><code>JAXBContext.createBinder()</code></a> or <a href="../../../javax/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="../../../javax/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="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/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="../../../javax/xml/bind/Binder.html#getJAXBNode-XmlNode-">getJAXBNode</a></span>(<a href="../../../javax/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="../../../javax/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="../../../javax/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="../../../javax/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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/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="../../../javax/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-">marshal</a></span>(java.lang.Object&nbsp;jaxbObject,
       <a href="../../../javax/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="../../../javax/xml/bind/Binder.html#setEventHandler-javax.xml.bind.ValidationEventHandler-">setEventHandler</a></span>(<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.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="../../../javax/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="../../../javax/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="../../../javax/xml/bind/Binder.html#unmarshal-XmlNode-">unmarshal</a></span>(<a href="../../../javax/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="../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#unmarshal-XmlNode-java.lang.Class-">unmarshal</a></span>(<a href="../../../javax/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="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-">updateJAXB</a></span>(<a href="../../../javax/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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-">updateXML</a></span>(java.lang.Object&nbsp;jaxbObject,
         <a href="../../../javax/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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                                    throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/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="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or <a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.

 <p>
 When <a href="../../../javax/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="../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind"><code>UnmarshalException</code></a> when the Binder's
 <a href="../../../javax/xml/bind/JAXBContext.html" title="class in javax.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="../../../javax/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="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - If the <a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.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="../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a>&lt;T&gt;&nbsp;unmarshal(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode,
                                             java.lang.Class&lt;T&gt;&nbsp;declaredType)
                                      throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/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="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or <a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.

 <p>
 When <a href="../../../javax/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="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - If any unexpected errors occur while unmarshalling</dd>
<dd><code><a href="../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - If the <a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                      throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/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="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a> or <a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>.

 <p>
 When <a href="../../../javax/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="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - If any unexpected problem occurs during the marshalling.</dd>
<dd><code><a href="../../../javax/xml/bind/MarshalException.html" title="class in javax.xml.bind">MarshalException</a></code> - If the <a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.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="../../../javax/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="../../../javax/xml/bind/Binder.html" title="class in javax.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="../../../javax/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="../../../javax/xml/bind/Binder.html" title="class in javax.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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;updateXML(java.lang.Object&nbsp;jaxbObject)
                           throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;updateXML(java.lang.Object&nbsp;jaxbObject,
                                  <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                           throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a>&nbsp;xmlNode)
                                     throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-"><code>marshal(Object,Object)</code></a> or
      <a href="../../../javax/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="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/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="../../../javax/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-javax.xml.bind.ValidationEventHandler-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEventHandler</h4>
<pre>public abstract&nbsp;void&nbsp;setEventHandler(<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a>&nbsp;handler)
                              throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a>&nbsp;getEventHandler()
                                                throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/JAXBException.html" title="class in javax.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="../../../javax/xml/bind/PropertyException.html" title="class in javax.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="../../../javax/xml/bind/PropertyException.html" title="class in javax.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="../../../javax/xml/bind/PropertyException.html" title="class in javax.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="../../../javax/xml/bind/PropertyException.html" title="class in javax.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="../../../javax/xml/bind/DataBindingException.html" title="class in javax.xml.bind"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/bind/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>
