FileDocCategorySizeDatePackage
AttachmentUnmarshaller.javaAPI DocJava SE 6 API4959Tue Jun 10 00:27:04 BST 2008javax.xml.bind.attachment

AttachmentUnmarshaller

public abstract class AttachmentUnmarshaller extends Object

Enables JAXB unmarshalling of a root document containing optimized binary data formats.

This API enables an efficient cooperative processing of optimized binary data formats between a JAXB 2.0 implementation and MIME-based package processor (MTOM/XOP and WS-I AP 1.0). JAXB unmarshals the body of a package, delegating the understanding of the packaging format being used to a MIME-based package processor that implements this abstract class.

This abstract class identifies if a package requires XOP processing, {@link #isXOPPackage()} and provides retrieval of binary content stored as attachments by content-id.

Identifying the content-id, cid, to pass to getAttachment*(String cid)

author
Marc Hadley
author
Kohsuke Kawaguchi
author
Joseph Fialli
since
JAXB 2.0
see
javax.xml.bind.Unmarshaller#setAttachmentUnmarshaller(AttachmentUnmarshaller)
see
XML-binary Optimized Packaging
see
WS-I Attachments Profile Version 1.0.
see
Describing Media Content of Binary Data in XML

Fields Summary
Constructors Summary
Methods Summary
public abstract byte[]getAttachmentAsByteArray(java.lang.String cid)

Retrieve the attachment identified by content-id, cid, as a byte[]

.

param
cid It is expected to be a valid lexical form of the XML Schema xs:anyURI datatype. If {@link #isXOPPackage()} ==true, it must be a valid URI per the cid: URI scheme (see RFC 2387)
return
byte[] representation of attachment identified by cid.
throws
IllegalArgumentException if the attachment for the given cid is not found.

public abstract javax.activation.DataHandlergetAttachmentAsDataHandler(java.lang.String cid)

Lookup MIME content by content-id, cid, and return as a {@link DataHandler}.

The returned DataHandler instance must be configured to meet the following required mapping constaint.
Required Mappings between MIME and Java Types
MIME Type Java Type
DataHandler.getContentType() instanceof DataHandler.getContent()
image/gif java.awt.Image
image/jpeg java.awt.Image
text/xml or application/xml javax.xml.transform.Source
Note that it is allowable to support additional mappings.

param
cid It is expected to be a valid lexical form of the XML Schema xs:anyURI datatype. If {@link #isXOPPackage()} ==true, it must be a valid URI per the cid: URI scheme (see RFC 2387)
return
a {@link DataHandler} that represents the MIME attachment.
throws
IllegalArgumentException if the attachment for the given cid is not found.

public booleanisXOPPackage()

Read-only property that returns true if JAXB unmarshaller needs to perform XOP processing.

This method returns true when the constraints specified in Identifying XOP Documents are met. This value must not change during the unmarshalling process.

return
true when MIME context is a XOP Document.

 return false;