javax.xml.bind.attachment

java.lang.Object
  继承者 javax.xml.bind.attachment.AttachmentUnmarshaller

public abstract class AttachmentUnmarshaller
     
extends Object

启用包含优化的二进制数据格式的根文档的 JAXB 解组。

此 API 支持 JAXB 2.0 实现与基于 MIME 的包处理器(MTOM/XOP 和 WS-I AP 1.0)之间的协作,有效地处理优化的二进制数据格式。JAXB 解组包的正文,把理解将使用的打包格式这项任务委托给实现此抽象类的基于 MIME 的包处理器。

此抽象类标识包是否需要 XOP 处理(isXOPPackage()),并提供对使用内容 id 存储为附件的二进制内容的检索。

标识要传递给 getAttachment*(String cid) 的内容 id(即 cid)。

从以下版本开始:
JAXB 2.0
另请参见:
Unmarshaller.setAttachmentUnmarshaller(AttachmentUnmarshaller), XML-binary Optimized Packaging, WS-I Attachments Profile Version 1.0., Describing Media Content of Binary Data in XML

构造方法摘要
AttachmentUnmarshaller()
           
 
方法摘要
abstract  byte[] getAttachmentAsByteArray(String cid)
          以 byte[] 形式检索由内容 id(即 cid)标识的附件。
abstract  DataHandler getAttachmentAsDataHandler(String cid)
          通过内容 id(即 cid)查找 MIME 内容,并作为 DataHandler 返回。
 boolean isXOPPackage()
          只读属性,如果 JAXB 解组程序需要执行 XOP 处理,则返回 true。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

AttachmentUnmarshaller

public AttachmentUnmarshaller()
方法详细信息

getAttachmentAsDataHandler

public abstract DataHandler getAttachmentAsDataHandler(String cid)

通过内容 id(即 cid)查找 MIME 内容,并作为 DataHandler 返回。

返回的 DataHandler 实例必须配置为满足以下必需的映射关系约束条件。

MIME 和 Java 类型之间的必需的映射关系
MIME 类型 Java 类型
DataHandler.getContentType() instanceof DataHandler.getContent()
image/gif java.awt.Image
image/jpeg java.awt.Image
text/xml or application/xml javax.xml.transform.Source
注意,允许支持其他映射关系。

参数:
cid - 需要它是 XML 模式 xs:anyURI 数据类型的有效词法形式。如果 isXOPPackage() ==true,则对于每个 cid: URI 模式,它都必须是有效的 URI(参见 RFC 2387)。
返回:
表示 MIME 附件的 DataHandler
抛出:
IllegalArgumentException - 如果未找到给定 cid 的附件。

getAttachmentAsByteArray

public abstract byte[] getAttachmentAsByteArray(String cid)

byte[] 形式检索由内容 id(即 cid)标识的附件。

.

参数:
cid - 需要它是 XML 模式 xs:anyURI 数据类型的有效词法形式。如果 isXOPPackage() ==true,则对于每个 cid: URI 模式,它都必须是有效的 URI(参见 RFC 2387)。
返回:
由 cid 所标识的附件的 byte[] 表示形式。
抛出:
IllegalArgumentException - 如果未找到给定 cid 的附件。

isXOPPackage

public boolean isXOPPackage()

只读属性,如果 JAXB 解组程序需要执行 XOP 处理,则返回 true。

当满足 Identifying XOP Documents 中指定的约束条件时,此方法返回 true。解组过程中此值不得更改。

返回:
当 MIME 上下文是一个 XOP 文档时,返回 true。