uTools-Manuals/docs/java/javax/xml/bind/attachment/AttachmentMarshaller.html

286 lines
18 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.xml.bind.attachment
</div>
<h2 class="title" title="Class AttachmentMarshaller">Class AttachmentMarshaller</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.attachment.AttachmentMarshaller</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">AttachmentMarshaller</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<p> <span>启用JAXB编组以优化二进制数据的存储。</span> </p>
<p> <span>该API能够在JAXB编组过程和基于MIME的包处理器之间高效地协同创建优化的二进制数据格式。</span> <span>JAXB实现将基于MIME的程序包的根本体进行编组将可引用MIME部件的创建委托给实现此抽象的基于MIME的程序包处理器。</span> </p>
<p> <span><a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#isXOPPackage--"><code>isXOPPackage()</code></a>为真时XOP处理被启用。</span> <span>详见<a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#addMtomAttachment-javax.activation.DataHandler-java.lang.String-java.lang.String-"><code>addMtomAttachment(DataHandler, String, String)</code></a></span> </p>
<p> <span>WS-I附件配置文件1.0由<a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#addSwaRefAttachment-javax.activation.DataHandler-"><code>addSwaRefAttachment(DataHandler)</code>支持</a> ,由调频器为与{http://ws-i.org/profiles/basic/1.1/xsd}swaRef相关的每个JAXB属性调用。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
JAXB 2.0
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/bind/Marshaller.html#setAttachmentMarshaller-javax.xml.bind.attachment.AttachmentMarshaller-"><code>Marshaller.setAttachmentMarshaller(AttachmentMarshaller)</code></a>
<a href="http://www.w3.org/TR/2005/REC-xop10-20050125/">XML-binary Optimized Packaging</a>
<a href="http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html">WS-I Attachments Profile Version 1.0.</a>
</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/attachment/AttachmentMarshaller.html#AttachmentMarshaller--">AttachmentMarshaller</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>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</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="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#addMtomAttachment-byte:A-int-int-java.lang.String-java.lang.String-java.lang.String-">addMtomAttachment</a></span>(byte[] data, int offset, int length, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mimeType, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementNamespace, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementLocalName)</code>
<div class="block">
考虑二进制
<code>data</code>作为附件的优化二进制存储。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#addMtomAttachment-javax.activation.DataHandler-java.lang.String-java.lang.String-">addMtomAttachment</a></span>(<a href="../../../../javax/activation/DataHandler.html" title="class in javax.activation">DataHandler</a> data, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementNamespace, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementLocalName)</code>
<div class="block">
考虑MIME内容
<code>data</code>作为附件的优化二进制存储。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#addSwaRefAttachment-javax.activation.DataHandler-">addSwaRefAttachment</a></span>(<a href="../../../../javax/activation/DataHandler.html" title="class in javax.activation">DataHandler</a> data)</code>
<div class="block">
添加MIME
<code>data</code>作为附件并返回附件的content-idcid。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#isXOPPackage--">isXOPPackage</a></span>()</code>
<div class="block">
只读属性如果JAXB编组器应该启用XOP创建则返回true。
</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="AttachmentMarshaller--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>AttachmentMarshaller</h4> <pre>public AttachmentMarshaller()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="addMtomAttachment-javax.activation.DataHandler-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addMtomAttachment</h4> <pre>public abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> addMtomAttachment(<a href="../../../../javax/activation/DataHandler.html" title="class in javax.activation">DataHandler</a> data,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementNamespace,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementLocalName)</pre>
<div class="block">
<p> <span>考虑MIME内容<code>data</code>作为附件的优化二进制存储。</span> </p>
<p> <span><a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#isXOPPackage--"><code>isXOPPackage()</code></a><code>true</code>由JAXB元数据流程调用该方法对于数据类型为“base64Binary”的每个元素如Creating XOP Packages中的步骤3 <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">所述</a></span> </p>
<p> <span>该方法实现者确定是否<code>data</code>应分别附接或内联为base64Binary数据。</span> <span>如果实现选择优化作为MIME部分的二进制数据的存储则它负责将data <code>data</code>到基于MIME的包然后分配唯一的内容idcid来标识MIME消息中的MIME部分。</span> <span>该方法返回cid这使JAXB编组器能够组织引用该cid的XOP元素代替编组二进制数据。</span> <span>当该方法返回null时JAXB编组器将<code>data</code>作为base64binary数据。</span> </p>
<p> <span>需要调用此方法才能满足以下约束。</span> <span>如果包含元素信息集项目<code>data</code>具有属性<code>xmime:contentType</code>或如果表示JAXB属性/字段<code>data</code>与已知的MIME类型注释 <code>data.getContentType()</code>应该被设置为MIME类型。</span> </p>
<p> <span><code>elementNamespace</code><code>elementLocalName</code>参数提供包含二进制数据的上下文。</span> <span>该信息可以由基于MIME的包处理器使用以确定二进制数据是否应作为附件内联或优化。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>data</code> - 表示要附加的数据。</span>
<span>必须非空。</span>
</dd>
<dd>
<span><code>elementNamespace</code> - 包含base64Binary数据的元素的命名空间URI。</span>
<span>可以是空的,但不能为空。</span>
</dd>
<dd>
<span><code>elementLocalName</code> - 元素的本地名称。</span>
<span>始终为非空的有效字符串。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>有效的内容id URI参见<a href="http://www.w3.org/TR/xop10/#RFC2387">RFC 2387</a> ),其识别包含附件<code>data</code></span>
<span>否则如果没有添加附件则应该为null而应该在消息中内联。</span>
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="http://www.w3.org/TR/2005/REC-xop10-20050125/">XML-binary Optimized Packaging</a>
<a href="http://www.w3.org/TR/xml-media-types/">Describing Media Content of Binary Data in XML</a>
</dd>
</dl> </li>
</ul> <a name="addMtomAttachment-byte:A-int-int-java.lang.String-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>addMtomAttachment</h4> <pre>public abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> addMtomAttachment(byte[] data,
int offset,
int length,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mimeType,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementNamespace,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> elementLocalName)</pre>
<div class="block">
<p> <span>考虑二进制<code>data</code>用于优化二进制存储作为附件。</span> </p>
<p> <span>由于内容类型未知附件的MIME内容类型必须设置为“application / octet-stream”。</span> </p>
<p> <span><code>elementNamespace</code><code>elementLocalName</code>参数提供了包含二进制数据的上下文。</span> <span>该信息可以由基于MIME的包处理器使用以确定二进制数据是否应作为附件内联或优化。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>data</code> - 表示要附加的数据。</span>
<span>必须非空。</span>
<span>实际数据区域由<tt>(data,offset,length)</tt>元组<tt>指定</tt></span>
</dd>
<dd>
<span><code>offset</code> - 要读取的第一个字节的数组内的偏移量;</span>
<span>必须是非负数不大于array.length</span>
</dd>
<dd>
<span><code>length</code> - 要从给定数组读取的字节数;</span>
<span>必须是非负数不大于array.length</span>
</dd>
<dd>
<span><code>mimeType</code> - 如果数据具有JAXB已知的关联MIME类型则作为此参数传递。</span>
<span>如果没有人知道,“应用程序/八位字节流”。</span>
<span>此参数可能永远不为空。</span>
</dd>
<dd>
<span><code>elementNamespace</code> - 包含base64Binary数据的元素的命名空间URI。</span>
<span>可以是空的,但不能为空。</span>
</dd>
<dd>
<span><code>elementLocalName</code> - 元素的本地名称。</span>
<span>始终为非空的有效字符串。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
content-id URIcid包含data的
<code>data</code> 如果数据应该是内联则为null。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/bind/attachment/AttachmentMarshaller.html#addMtomAttachment-javax.activation.DataHandler-java.lang.String-java.lang.String-"><code>addMtomAttachment(DataHandler, String, String)</code></a>
</dd>
</dl> </li>
</ul> <a name="isXOPPackage--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isXOPPackage</h4> <pre>public boolean isXOPPackage()</pre>
<div class="block">
<p> <span>只读属性如果JAXB编组器应该启用XOP创建则返回true。</span> </p>
<p> <span>在编组过程中,此值不能更改。</span> <span>当此值为true时<code>addMtomAttachment(...)</code>过程遇到适当的二进制数据类型时,将调用<code>addMtomAttachment(...)</code>方法。</span> </p>
<p> <span>如果此值为<code>true</code>并且要编组的XML内容违反了<a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">Creating XOP Pacakges</a> http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages中的步骤1则Marshaller.marshal必须抛出IllegalStateException。</span> <span><i>“确保原始XML信息集不包含[namespace name]为”http://www.w3.org/2004/08/xop/include“的元素信息项目和Include的[本地名称]</i></span> </p>
<p> <span>当此方法返回true并且在组织过程期间至少一次调用<code>addMtomAttachment(...)</code>返回content-id时基于MIME的程序包处理器必须使用application / xop + xml介质类型标记根部件如Creating XOP Pacakges的步骤5 <a href="http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages">所述</a></span> </p>
<p></p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果MIME上下文是XOP包则为true。
</dd>
</dl> </li>
</ul> <a name="addSwaRefAttachment-javax.activation.DataHandler-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>addSwaRefAttachment</h4> <pre>public abstract <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> addSwaRefAttachment(<a href="../../../../javax/activation/DataHandler.html" title="class in javax.activation">DataHandler</a> data)</pre>
<div class="block">
<p> <span>添加MIME <code>data</code>作为附件并返回附件的content-idcid。</span> </p>
<p> <span>每个元素/属性的JAXB元数据流程都会调用此方法其类型为{http://ws-i.org/profiles/basic/1.1/xsd}swaRef。</span> <span>实现此方法的基于MIME的包处理器负责将指定的数据附加到MIME附件并生成唯一标识基于MIME的包中的附件的content-idcid。</span> </p>
<p> <span>调用者将返回的content-idcid插入正在编组的XML内容中。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>data</code> - 表示要附加的数据。</span>
<span>必须非空。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>必须是一个用作cid的有效URI。</span>
<span>必须满足一致性要求R2928从<a href="http://www.ws-i.org/Profiles/AttachmentsProfile-1.0-2004-08-24.html#Referencing_Attachments_from_the_SOAP_Envelope">WS-I Attachments Profile Version 1.0.</a></span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>