|  | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | 
|  | <!-- NewPage --> | 
|  | <html lang="en"> | 
|  | <head> | 
|  | <!-- Generated by javadoc (version 1.7.0_11) on Wed Sep 18 01:55:16 EDT 2013 --> | 
|  | <title>Binder (EclipseLink 2.5.1, build 'v20130918-f2b9fc5' API Reference)</title> | 
|  | <meta name="date" content="2013-09-18"> | 
|  | <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> | 
|  | </head> | 
|  | <body> | 
|  | <script type="text/javascript"><!-- | 
|  | if (location.href.indexOf('is-external=true') == -1) { | 
|  | parent.document.title="Binder (EclipseLink 2.5.1, build 'v20130918-f2b9fc5' API Reference)"; | 
|  | } | 
|  | //--> | 
|  | </script> | 
|  | <noscript> | 
|  | <div>JavaScript is disabled on your browser.</div> | 
|  | </noscript> | 
|  | <!-- ========= START OF TOP NAVBAR ======= --> | 
|  | <div class="topNav"><a name="navbar_top"> | 
|  | <!--   --> | 
|  | </a><a href="#skip-navbar_top" title="Skip navigation links"></a><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 class="aboutLanguage"><em>EclipseLink 2.5.1, build 'v20130918-f2b9fc5' API Reference</em></div> | 
|  | </div> | 
|  | <div class="subNav"> | 
|  | <ul class="navList"> | 
|  | <li>Prev Class</li> | 
|  | <li><a href="../../../javax/xml/bind/DataBindingException.html" title="class in javax.xml.bind"><span class="strong">Next 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 Frames</a></li> | 
|  | </ul> | 
|  | <ul class="navList" id="allclasses_navbar_top"> | 
|  | <li><a href="../../../allclasses-noframe.html">All 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: </li> | 
|  | <li>Nested | </li> | 
|  | <li>Field | </li> | 
|  | <li><a href="#constructor_summary">Constr</a> | </li> | 
|  | <li><a href="#method_summary">Method</a></li> | 
|  | </ul> | 
|  | <ul class="subNavList"> | 
|  | <li>Detail: </li> | 
|  | <li>Field | </li> | 
|  | <li><a href="#constructor_detail">Constr</a> | </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<XmlNode></h2> | 
|  | </div> | 
|  | <div class="contentContainer"> | 
|  | <ul class="inheritance"> | 
|  | <li>java.lang.Object</li> | 
|  | <li> | 
|  | <ul class="inheritance"> | 
|  | <li>javax.xml.bind.Binder<XmlNode></li> | 
|  | </ul> | 
|  | </li> | 
|  | </ul> | 
|  | <div class="description"> | 
|  | <ul class="blockList"> | 
|  | <li class="blockList"> | 
|  | <dl> | 
|  | <dt>Direct Known Subclasses:</dt> | 
|  | <dd><a href="../../../org/eclipse/persistence/jaxb/JAXBBinder.html" title="class in org.eclipse.persistence.jaxb">JAXBBinder</a></dd> | 
|  | </dl> | 
|  | <hr> | 
|  | <br> | 
|  | <pre>public abstract class <span class="strong">Binder<XmlNode></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="strong">Author:</span></dt> | 
|  | <dd>Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com) | 
|  | Joseph Fialli</dd> | 
|  | <dt><span class="strong">Since:</span></dt> | 
|  | <dd>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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> | 
|  | <caption><span>Constructors</span><span class="tabEnd"> </span></caption> | 
|  | <tr> | 
|  | <th class="colOne" scope="col">Constructor and Description</th> | 
|  | </tr> | 
|  | <tr class="altColor"> | 
|  | <td class="colOne"><code><strong><a href="../../../javax/xml/bind/Binder.html#Binder()">Binder</a></strong>()</code> </td> | 
|  | </tr> | 
|  | </table> | 
|  | </li> | 
|  | </ul> | 
|  | <!-- ========== METHOD SUMMARY =========== --> | 
|  | <ul class="blockList"> | 
|  | <li class="blockList"><a name="method_summary"> | 
|  | <!--   --> | 
|  | </a> | 
|  | <h3>Method Summary</h3> | 
|  | <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> | 
|  | <caption><span>Methods</span><span class="tabEnd"> </span></caption> | 
|  | <tr> | 
|  | <th class="colFirst" scope="col">Modifier and Type</th> | 
|  | <th class="colLast" scope="col">Method and Description</th> | 
|  | </tr> | 
|  | <tr 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><strong><a href="../../../javax/xml/bind/Binder.html#getEventHandler()">getEventHandler</a></strong>()</code> | 
|  | <div class="block">Return the current event handler or the default event handler if one | 
|  | hasn't been set.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="rowColor"> | 
|  | <td class="colFirst"><code>abstract java.lang.Object</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#getJAXBNode(XmlNode)">getJAXBNode</a></strong>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code> | 
|  | <div class="block">Gets the JAXB object associated with the given XML element.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="altColor"> | 
|  | <td class="colFirst"><code>abstract java.lang.Object</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#getProperty(java.lang.String)">getProperty</a></strong>(java.lang.String name)</code> | 
|  | <div class="block">Get the particular property in the underlying implementation of | 
|  | <tt>Binder</tt>.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="rowColor"> | 
|  | <td class="colFirst"><code>abstract javax.xml.validation.Schema</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#getSchema()">getSchema</a></strong>()</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 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><strong><a href="../../../javax/xml/bind/Binder.html#getXMLNode(java.lang.Object)">getXMLNode</a></strong>(java.lang.Object jaxbObject)</code> | 
|  | <div class="block">Gets the XML element associated with the given JAXB object.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="rowColor"> | 
|  | <td class="colFirst"><code>abstract void</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#marshal(java.lang.Object, XmlNode)">marshal</a></strong>(java.lang.Object jaxbObject, | 
|  | <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code> | 
|  | <div class="block">Marshal a JAXB object tree to a new XML document.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="altColor"> | 
|  | <td class="colFirst"><code>abstract void</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#setEventHandler(javax.xml.bind.ValidationEventHandler)">setEventHandler</a></strong>(<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a> handler)</code> | 
|  | <div class="block">Allow an application to register a <tt>ValidationEventHandler</tt>.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="rowColor"> | 
|  | <td class="colFirst"><code>abstract void</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#setProperty(java.lang.String, java.lang.Object)">setProperty</a></strong>(java.lang.String name, | 
|  | java.lang.Object value)</code> | 
|  | <div class="block">Set the particular property in the underlying implementation of | 
|  | <tt>Binder</tt>.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="altColor"> | 
|  | <td class="colFirst"><code>abstract void</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#setSchema(javax.xml.validation.Schema)">setSchema</a></strong>(javax.xml.validation.Schema schema)</code> | 
|  | <div class="block">Specifies whether marshal, unmarshal and update methods | 
|  | performs validation on their XML content.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="rowColor"> | 
|  | <td class="colFirst"><code>abstract java.lang.Object</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#unmarshal(XmlNode)">unmarshal</a></strong>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code> | 
|  | <div class="block">Unmarshal XML infoset view to a JAXB object tree.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="altColor"> | 
|  | <td class="colFirst"><code>abstract <T> <a href="../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a><T></code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#unmarshal(XmlNode, java.lang.Class)">unmarshal</a></strong>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode, | 
|  | java.lang.Class<T> declaredType)</code> | 
|  | <div class="block">Unmarshal XML root element by provided <tt>declaredType</tt> | 
|  | to a JAXB object tree.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr class="rowColor"> | 
|  | <td class="colFirst"><code>abstract java.lang.Object</code></td> | 
|  | <td class="colLast"><code><strong><a href="../../../javax/xml/bind/Binder.html#updateJAXB(XmlNode)">updateJAXB</a></strong>(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code> | 
|  | <div class="block">Takes an XML node and updates its associated JAXB object and its descendants.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr 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><strong><a href="../../../javax/xml/bind/Binder.html#updateXML(java.lang.Object)">updateXML</a></strong>(java.lang.Object jaxbObject)</code> | 
|  | <div class="block">Takes an JAXB object and updates | 
|  | its associated XML node and its descendants.</div> | 
|  | </td> | 
|  | </tr> | 
|  | <tr 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><strong><a href="../../../javax/xml/bind/Binder.html#updateXML(java.lang.Object, XmlNode)">updateXML</a></strong>(java.lang.Object jaxbObject, | 
|  | <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> 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 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 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 java.lang.Object unmarshal(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> 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 <tt>@xsi:type</tt>, of <tt>xmlNode</tt> | 
|  | 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 <tt>xmlNode</tt> should be mapped to.</div> | 
|  | <dl><dt><span class="strong">Parameters:</span></dt><dd><code>xmlNode</code> - the document/element to unmarshal XML data from.</dd> | 
|  | <dt><span class="strong">Returns:</span></dt><dd>the newly created root object of the JAXB object tree.</dd> | 
|  | <dt><span class="strong">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 <tt>handleEvent</tt> method or the | 
|  | <tt>Binder</tt> 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 <T> <a href="../../../javax/xml/bind/JAXBElement.html" title="class in javax.xml.bind">JAXBElement</a><T> unmarshal(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode, | 
|  | java.lang.Class<T> 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 <tt>declaredType</tt> | 
|  | 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="strong">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 <tt>node</tt>'s XML data.</dd> | 
|  | <dt><span class="strong">Returns:</span></dt><dd><a href="JAXBElement.html">JAXB Element</a> representation | 
|  | of <tt>node</tt></dd> | 
|  | <dt><span class="strong">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 <tt>handleEvent</tt> method or the | 
|  | <tt>Binder</tt> 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="strong">Since:</span></dt> | 
|  | <dd>JAXB2.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 void marshal(java.lang.Object jaxbObject, | 
|  | <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> 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="strong">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="strong">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 <tt>handleEvent</tt> method or the | 
|  | <tt>Binder</tt> is unable to marshal <tt>jaxbObject</tt> (or any | 
|  | object reachable from <tt>jaxbObject</tt>).</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 <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> getXMLNode(java.lang.Object 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="strong">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="strong">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="strong">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 java.lang.Object getJAXBNode(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> 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="strong">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="strong">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 <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> updateXML(java.lang.Object 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="strong">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 <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> updateXML(java.lang.Object jaxbObject, | 
|  | <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> 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="strong">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="strong">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="strong">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 java.lang.Object updateJAXB(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> 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="strong">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="strong">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 void setSchema(javax.xml.validation.Schema schema)</pre> | 
|  | <div class="block">Specifies whether marshal, unmarshal and update methods | 
|  | performs validation on their XML content.</div> | 
|  | <dl><dt><span class="strong">Parameters:</span></dt><dd><code>schema</code> - set to null to disable validation.</dd><dt><span class="strong">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 javax.xml.validation.Schema 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="strong">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 void setEventHandler(<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a> 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 <tt>ValidationEventHandler</tt>. | 
|  | <p> | 
|  | The <tt>ValidationEventHandler</tt> 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="strong">Parameters:</span></dt><dd><code>handler</code> - the validation event handler</dd> | 
|  | <dt><span class="strong">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 <a href="../../../javax/xml/bind/ValidationEventHandler.html" title="interface in javax.xml.bind">ValidationEventHandler</a> 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="strong">Returns:</span></dt><dd>the current ValidationEventHandler or the default event handler | 
|  | if it hasn't been set</dd> | 
|  | <dt><span class="strong">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 void setProperty(java.lang.String name, | 
|  | java.lang.Object 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 | 
|  | <tt>Binder</tt>.  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="strong">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="strong">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 java.lang.Object getProperty(java.lang.String 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 | 
|  | <tt>Binder</tt>.  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="strong">Parameters:</span></dt><dd><code>name</code> - the name of the property to retrieve</dd> | 
|  | <dt><span class="strong">Returns:</span></dt><dd>the value of the requested property</dd> | 
|  | <dt><span class="strong">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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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 class="aboutLanguage"><em>EclipseLink 2.5.1, build 'v20130918-f2b9fc5' API Reference</em></div> | 
|  | </div> | 
|  | <div class="subNav"> | 
|  | <ul class="navList"> | 
|  | <li>Prev Class</li> | 
|  | <li><a href="../../../javax/xml/bind/DataBindingException.html" title="class in javax.xml.bind"><span class="strong">Next 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 Frames</a></li> | 
|  | </ul> | 
|  | <ul class="navList" id="allclasses_navbar_bottom"> | 
|  | <li><a href="../../../allclasses-noframe.html">All 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: </li> | 
|  | <li>Nested | </li> | 
|  | <li>Field | </li> | 
|  | <li><a href="#constructor_summary">Constr</a> | </li> | 
|  | <li><a href="#method_summary">Method</a></li> | 
|  | </ul> | 
|  | <ul class="subNavList"> | 
|  | <li>Detail: </li> | 
|  | <li>Field | </li> | 
|  | <li><a href="#constructor_detail">Constr</a> | </li> | 
|  | <li><a href="#method_detail">Method</a></li> | 
|  | </ul> | 
|  | </div> | 
|  | <a name="skip-navbar_bottom"> | 
|  | <!--   --> | 
|  | </a></div> | 
|  | <!-- ======== END OF BOTTOM NAVBAR ======= --> | 
|  | </body> | 
|  | </html> |