mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-07-04 07:42:45 +08:00
625 lines
37 KiB
HTML
625 lines
37 KiB
HTML
<div class="header">
|
||
<div class="subTitle">
|
||
javax.xml.bind
|
||
</div>
|
||
<h2 class="title" title="Class Binder">Class Binder<XmlNode></h2>
|
||
</div><div class="contentContainer">
|
||
<ul class="inheritance">
|
||
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
|
||
<li>
|
||
<ul class="inheritance">
|
||
<li>javax.xml.bind.Binder<XmlNode></li>
|
||
</ul> </li>
|
||
</ul>
|
||
<div class="description">
|
||
<ul class="blockList">
|
||
<li class="blockList">
|
||
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">Binder<XmlNode></span>
|
||
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
|
||
<div class="block">
|
||
<span>启用表示相同XML文档的XML信息集节点和JAXB对象之间的同步。</span>
|
||
<p> <span>此类的实例维护信息集维护视图的XML节点与XML文档的JAXB表示形式之间的关联。</span> <span>这两个视图之间的导航由方法<a href="../../../javax/xml/bind/Binder.html#getXMLNode-java.lang.Object-"><code>getXMLNode(Object)</code></a>和<a href="../../../javax/xml/bind/Binder.html#getJAXBNode-XmlNode-"><code>getJAXBNode(Object)</code>提供</a> 。</span> </p>
|
||
<p> <span>可以对信息保留视图或文档的JAXB表示进行修改,而另一个视图保持未修改。</span> <span>活页夹能够使用适当的Binder更新方法( <a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a>或<a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code>)</a>将修改后的视图中所做的更改同步到其他视图。</span> </p>
|
||
<p> <span>典型的使用场景如下:</span> </p>
|
||
<ul>
|
||
<li> <span>将XML文档加载到XML信息集表示中</span> </li>
|
||
<li> <span><a href="../../../javax/xml/bind/Binder.html#unmarshal-XmlNode-"><code>unmarshal(Object)</code></a>到JAXB视图的XML信息集视图。</span> <span>(注意节省资源,只能将XML信息集视图的子树解组到JAXB视图。)</span> </li>
|
||
<li> <span>应用程序访问/更新XML文档的JAXB视图。</span> </li>
|
||
<li> <span><a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-"><code>updateXML(Object)</code></a>将JAXB视图的修改同步到XML信息集视图中。</span> <span>更新操作保留尽可能多的原始XML信息集(即注释,PI,...)</span> </li>
|
||
</ul>
|
||
<p> <span>Binder实例使用工厂方法<a href="../../../javax/xml/bind/JAXBContext.html#createBinder--"><code>JAXBContext.createBinder()</code></a>或<a href="../../../javax/xml/bind/JAXBContext.html#createBinder-java.lang.Class-"><code>JAXBContext.createBinder(Class)</code>创建</a> 。</span> </p>
|
||
<p> <span>模板参数<code>XmlNode</code>是XML信息集维护表示的根接口/类。</span> <span>需要一个Binder实现来最低限度地支持<code>XmlNode</code>值<code>org.w3c.dom.Node.class</code> 。</span> <span>Binder实现可以支持替代的XML信息集保留表示。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</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>构造方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
|
||
<caption>
|
||
<span>构造方法</span>
|
||
<span class="tabEnd"> </span>
|
||
</caption>
|
||
<tbody>
|
||
<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> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table> </li>
|
||
</ul>
|
||
<!-- ========== METHOD SUMMARY =========== -->
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="method.summary">
|
||
<!-- --> </a> <h3>方法摘要</h3>
|
||
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
|
||
<caption>
|
||
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
|
||
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="colFirst" scope="col">Modifier and Type</th>
|
||
<th class="colLast" scope="col">Method and Description</th>
|
||
</tr>
|
||
<tr class="altColor" id="i0">
|
||
<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">
|
||
返回当前事件处理程序或默认事件处理程序(如果尚未设置)。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i1">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></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> xmlNode)</code>
|
||
<div class="block">
|
||
获取与给定XML元素关联的JAXB对象。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i2">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#getProperty-java.lang.String-">getProperty</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
|
||
<div class="block">
|
||
获取基础实现中的特定属性
|
||
<tt>Binder</tt> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i3">
|
||
<td class="colFirst"><code>abstract <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a></code></td>
|
||
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/bind/Binder.html#getSchema--">getSchema</a></span>()</code>
|
||
<div class="block">
|
||
<span>获取由<a href="../../../javax/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a>方法设置的最后<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象(包括null)。</span>
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i4">
|
||
<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>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)</code>
|
||
<div class="block">
|
||
获取与给定JAXB对象关联的XML元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i5">
|
||
<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>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject, <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
|
||
<div class="block">
|
||
将JAXB对象树编组到新的XML文档。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i6">
|
||
<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> handler)</code>
|
||
<div class="block">
|
||
允许申请注册一个
|
||
<tt>ValidationEventHandler</tt> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i7">
|
||
<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>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> value)</code>
|
||
<div class="block">
|
||
在底层实现中设置特定的属性
|
||
<tt>Binder</tt> 。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i8">
|
||
<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>(<a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</code>
|
||
<div class="block">
|
||
指定marshal,unmarshal和update方法是否对其XML内容执行验证。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i9">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></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> xmlNode)</code>
|
||
<div class="block">
|
||
将XML信息集视图解组到JAXB对象树。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i10">
|
||
<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><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> xmlNode, <a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> declaredType)</code>
|
||
<div class="block">
|
||
通过向JAXB对象树提供
|
||
<tt>declaredType</tt>解组XML根元素。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i11">
|
||
<td class="colFirst"><code>abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></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> xmlNode)</code>
|
||
<div class="block">
|
||
获取一个XML节点并更新其关联的JAXB对象及其后代。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="altColor" id="i12">
|
||
<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>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)</code>
|
||
<div class="block">
|
||
获取JAXB对象并更新其关联的XML节点及其后代。
|
||
</div> </td>
|
||
</tr>
|
||
<tr class="rowColor" id="i13">
|
||
<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>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject, <a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</code>
|
||
<div class="block">
|
||
在其关联的XML解析树中更新JAXB对象树中的更改。
|
||
</div> </td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<ul class="blockList">
|
||
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
|
||
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></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>构造方法详细信息</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>方法详细信息</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 <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> 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">
|
||
<span>将XML信息集视图解组到JAXB对象树。</span>
|
||
<p> <span>该方法类似于<a href="../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-"><code>Unmarshaller.unmarshal(Node)</code></a> ,其中添加了维护XML节点和生成的JAXB对象之间的关联,从而实现将来的更新操作, <a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a>或<a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a> 。</span> </p>
|
||
<p> <span>当<a href="../../../javax/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a>为非空时, <code>xmlNode</code>及其后代在此操作期间被验证。</span> </p>
|
||
<p> <span>此方法抛出<a href="../../../javax/xml/bind/UnmarshalException.html" title="javax.xml.bind中的类"><code>UnmarshalException</code></a>当粘合剂的<a href="../../../javax/xml/bind/JAXBContext.html" title="javax.xml.bind中的类"><code>JAXBContext</code></a>不具有XML元素名称或类型到JAXB映射类的映射,经由<tt>@xsi:type</tt>可指定的<tt>xmlNode。</tt></span> <span>方法<a href="../../../javax/xml/bind/Binder.html#unmarshal-XmlNode-java.lang.Class-"><code>unmarshal(Object, Class)</code></a>使应用程序能够指定<tt>xmlNode</tt>应映射到的JAXB映射类。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>xmlNode</code> - 从中解开XML数据的文件/元素。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
新创建的JAXB对象树的根对象。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
|
||
</dd>
|
||
<dd>
|
||
<span><code><a href="../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false,或者<tt>Binder</tt>无法执行XML到Java绑定。</span>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果节点参数为空
|
||
</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,
|
||
<a href="../../../java/lang/Class.html" title="class in java.lang">类</a><T> declaredType)
|
||
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
|
||
<div class="block">
|
||
<span>通过向JAXB对象树提供<tt>declaredType</tt>解组XML根元素。</span>
|
||
<p> <span>实现<a href="Unmarshaller.html#unmarshalByDeclaredType">Unmarshal by Declared Type</a></span> </p>
|
||
<p> <span>该方法类似于<a href="../../../javax/xml/bind/Unmarshaller.html#unmarshal-org.w3c.dom.Node-java.lang.Class-"><code>Unmarshaller.unmarshal(Node, Class)</code></a> ,其中添加了维护XML节点和生成的JAXB对象之间的关联,从而实现将来的更新操作, <a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a>或<a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a> 。</span> </p>
|
||
<p> <span>当<a href="../../../javax/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a>为非空时, <code>xmlNode</code>及其后代在此操作期间被验证。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>xmlNode</code> - 从中解开XML数据的文档/元素。
|
||
</dd>
|
||
<dd>
|
||
<code>declaredType</code> - 适当的JAXB映射类保存
|
||
<tt>node</tt>的XML数据。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<a href="JAXBElement.html">JAXB Element</a>表示
|
||
<tt>node</tt>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 解组时是否发生意外错误
|
||
</dd>
|
||
<dd>
|
||
<span><code><a href="../../../javax/xml/bind/UnmarshalException.html" title="class in javax.xml.bind">UnmarshalException</a></code> - 如果<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false,或<tt>Binder</tt>无法执行XML到Java绑定。</span>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果任何输入参数为空
|
||
</dd>
|
||
<dt>
|
||
<span class="simpleTagLabel">从以下版本开始:</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(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> 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">
|
||
<span>将JAXB对象树编组到新的XML文档。</span>
|
||
<p> <span>此方法类似于<a href="../../../javax/xml/bind/Marshaller.html#marshal-java.lang.Object-org.w3c.dom.Node-"><code>Marshaller.marshal(Object, Node)</code></a> ,增加了维护JAXB对象和生成的XML节点之间的关联,从而实现了未来的更新操作,例如<a href="../../../javax/xml/bind/Binder.html#updateXML-java.lang.Object-XmlNode-"><code>updateXML(Object, Object)</code></a>或<a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a> 。</span> </p>
|
||
<p> <span>当<a href="../../../javax/xml/bind/Binder.html#getSchema--"><code>getSchema()</code></a>为非空值时,在此操作期间验证已编组的xml内容。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>jaxbObject</code> - 要编组的内容树。
|
||
</dd>
|
||
<dd>
|
||
<code>xmlNode</code> - 参数必须是接受子节点的节点。
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在编组过程中发生意外问题。
|
||
</dd>
|
||
<dd>
|
||
<span><code><a href="../../../javax/xml/bind/MarshalException.html" title="class in javax.xml.bind">MarshalException</a></code> - 如果<a href="../../../javax/xml/bind/ValidationEventHandler.html" title="javax.xml.bind中的接口"><code>ValidationEventHandler</code></a>从其<tt>handleEvent</tt>方法返回false,或者<tt>Binder</tt>无法<tt>组织jaxbObject</tt> (或任何可从<tt>jaxbObject可访问的</tt>对象)。</span>
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果任何方法参数为空
|
||
</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(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)</pre>
|
||
<div class="block">
|
||
<span>获取与给定JAXB对象关联的XML元素。</span>
|
||
<p> <span>一旦JAXB对象树与XML片段相关联,该方法就可以在两个树之间进行导航。</span> </p>
|
||
<p> <span>通过绑定方法和更新方法建立XML元素和JAXB对象之间的关联。</span> <span>请注意,此关联是部分的;</span> <span>并不是所有的XML元素都具有关联的JAXB对象,并不是所有的JAXB对象都具有关联的XML元素。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>jaxbObject</code> - 从先前调用返回JAXB对象树的绑定或更新方法可访问的实例。
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>如果指定的JAXB对象不知道此<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类"><code>Binder</code></a> ,或者如果它不与XML元素相关<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类">联</a> ,则为null。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果jaxbObject参数为空
|
||
</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 <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getJAXBNode(<a href="../../../javax/xml/bind/Binder.html" title="type parameter in Binder">XmlNode</a> xmlNode)</pre>
|
||
<div class="block">
|
||
<span>获取与给定XML元素关联的JAXB对象。</span>
|
||
<p> <span>一旦JAXB对象树与XML片段相关联,该方法就可以在两个树之间进行导航。</span> </p>
|
||
<p> <span>XML元素和JAXB对象之间的关联是由unmarshal,marshal和update方法建立的。</span> <span>请注意,此关联是部分的;</span> <span>并不是所有的XML元素都具有关联的JAXB对象,并不是所有的JAXB对象都具有关联的XML元素。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>如果指定的XML节点对于该<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类"><code>Binder</code></a>不知道,或者如果它不与JAXB对象相关<a href="../../../javax/xml/bind/Binder.html" title="javax.xml.bind中的类">联</a> ,则为null。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果节点参数为空
|
||
</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(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> jaxbObject)
|
||
throws <a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></pre>
|
||
<div class="block">
|
||
<span>获取JAXB对象并更新其关联的XML节点及其后代。</span>
|
||
<p> <span>这是一种方便的方法:</span> </p>
|
||
<pre> <span>updateXML( jaxbObject, getXMLNode(jaxbObject));</span> </pre>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果任何意外的问题发生更新对应的XML内容。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果jaxbObject参数为空
|
||
</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(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> 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">
|
||
<span>在其关联的XML解析树中更新JAXB对象树中的更改。</span>
|
||
<p> <span>这个操作可以被认为是一个“就地”编组。</span> <span>不同的是,这个操作不是创建一个全新的XML树,而是更新一个现有的树,同时尽可能地保留XML。</span> </p>
|
||
<p> <span>例如,未绑定到JAXB的XML中的未知元素/属性将保持不变(而编组操作将创建不包含任何这些的新树)。</span> </p>
|
||
<p> <span>作为副作用,此操作更新XML节点和JAXB对象之间的关联。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>jaxbObject</code> - 潜在修改的JAXB对象树的根
|
||
</dd>
|
||
<dd>
|
||
<code>xmlNode</code> - 更新目标XML解析树的根
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>返回更新的XML节点。</span>
|
||
<span>通常,这是与<i>xmlNode</i>一样传递的节点,但它可能是一个不同的对象,例如当对象的标签名称已更改时。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果任何意外的问题发生更新对应的XML内容。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果任何输入参数为空
|
||
</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 <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> 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">
|
||
<span>获取一个XML节点并更新其关联的JAXB对象及其后代。</span>
|
||
<p> <span>这个操作可以被认为是一个“就地”解组。</span> <span>不同之处在于,该操作不是创建一个全新的JAXB树,而是更新现有的树,尽可能多地重用JAXB对象。</span> </p>
|
||
<p> <span>作为副作用,此操作更新XML节点和JAXB对象之间的关联。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
<span>返回更新的JAXB对象。</span>
|
||
<span>通常,这是从早期的<a href="../../../javax/xml/bind/Binder.html#marshal-java.lang.Object-XmlNode-"><code>marshal(Object,Object)</code></a>或<a href="../../../javax/xml/bind/Binder.html#updateJAXB-XmlNode-"><code>updateJAXB(Object)</code></a>方法调用返回的相同对象,但它可能是一个不同的对象,例如当XML元素的名称已更改时。</span>
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果任何意外的问题发生更新相应的JAXB映射内容。
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果节点参数为空
|
||
</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(<a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> schema)</pre>
|
||
<div class="block">
|
||
指定marshal,unmarshal和update方法是否对其XML内容执行验证。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>schema</code> - 设置为null以禁用验证。
|
||
</dd>
|
||
<dt>
|
||
<span class="seeLabel">另请参见:</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 <a href="../../../javax/xml/validation/Schema.html" title="class in javax.xml.validation">Schema</a> getSchema()</pre>
|
||
<div class="block">
|
||
<span>获取由<a href="../../../javax/xml/bind/Binder.html#setSchema-javax.xml.validation.Schema-"><code>setSchema(Schema)</code></a>方法设置的最后<a href="../../../javax/xml/validation/Schema.html" title="javax.xml.validation中的类"><code>Schema</code></a>对象(包括null)。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
用于验证的Schema对象,如果不存在则为null
|
||
</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">
|
||
<span>允许申请注册一个<tt>ValidationEventHandler</tt> 。</span>
|
||
<p> <span><tt>ValidationEventHandler</tt>将由JAXB提供程序调用,如果在调用任何Binder拆组,组织和更新方法时遇到任何验证错误。</span> </p>
|
||
<p> <span>使用null参数调用此方法将导致Binder恢复为默认的默认事件处理程序。</span> </p>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>handler</code> - 验证事件处理程序
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在设置事件处理程序时遇到错误
|
||
</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">
|
||
返回当前事件处理程序或默认事件处理程序(如果尚未设置)。
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
当前的ValidationEventHandler或默认事件处理程序(如果尚未设置)
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/JAXBException.html" title="class in javax.xml.bind">JAXBException</a></code> - 如果在获取当前事件处理程序时遇到错误
|
||
</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(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name,
|
||
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> value)
|
||
throws <a href="../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></pre>
|
||
<div class="block">
|
||
<span>在底层实现中设置特定的属性<tt>Binder</tt> 。</span>
|
||
<span>此方法只能用于设置一个标准的JAXB定义的unmarshal / marshal属性,或者为binder,unmarshal或marshal提供特定的属性。</span>
|
||
<span>尝试设置未定义的属性将导致抛出PropertyException。</span>
|
||
<span>参见<a href="Unmarshaller.html#supportedProps">Supported Unmarshal Properties</a>和<a href="Marshaller.html#supportedProps">Supported Marshal Properties</a> 。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<span><code>name</code> - 要设置的属性的名称。</span>
|
||
<span>可以使用常量字段或用户提供的字符串指定此值。</span>
|
||
</dd>
|
||
<dd>
|
||
<code>value</code> - 要设置的属性的值
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></code> - 处理给定属性或值时出错
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果name参数为null
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> <a name="getProperty-java.lang.String-">
|
||
<!-- --> </a>
|
||
<ul class="blockListLast">
|
||
<li class="blockList"> <h4>getProperty</h4> <pre>public abstract <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> getProperty(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> name)
|
||
throws <a href="../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></pre>
|
||
<div class="block">
|
||
<span>获取Binder基础实现中的<tt>特定属性</tt> 。</span>
|
||
<span>此方法只能用于获取标准JAXB定义的解组/元数据属性之一或粘合剂,解组或元组的提供者特定属性。</span>
|
||
<span>尝试获取未定义的属性将导致抛出PropertyException。</span>
|
||
<span>参见<a href="Unmarshaller.html#supportedProps">Supported Unmarshal Properties</a>和<a href="Marshaller.html#supportedProps">Supported Marshal Properties</a> 。</span>
|
||
</div>
|
||
<dl>
|
||
<dt>
|
||
<span class="paramLabel">参数</span>
|
||
</dt>
|
||
<dd>
|
||
<code>name</code> - 要检索的属性的名称
|
||
</dd>
|
||
<dt>
|
||
<span class="returnLabel">结果</span>
|
||
</dt>
|
||
<dd>
|
||
请求的属性的值
|
||
</dd>
|
||
<dt>
|
||
<span class="throwsLabel">异常</span>
|
||
</dt>
|
||
<dd>
|
||
<code><a href="../../../javax/xml/bind/PropertyException.html" title="class in javax.xml.bind">PropertyException</a></code> - 检索给定属性或值属性名称时出现错误
|
||
</dd>
|
||
<dd>
|
||
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果name参数为null
|
||
</dd>
|
||
</dl> </li>
|
||
</ul> </li>
|
||
</ul> </li>
|
||
</ul>
|
||
</div>
|
||
</div> |