public abstract class AttachmentMarshaller extends ObjectSE
Jakarta XML Binding マーシャリングを有効にして、バイナリデータのストレージを最適化します。
この API により、Jakarta XML Binding マーシャリングプロセスと MIME ベースのパッケージプロセッサー間で最適化されたバイナリデータ形式を効率的に共同で作成できます。Jakarta XML Binding 実装は、MIME ベースのパッケージのルート本体をマーシャリングし、参照可能な MIME パーツの作成を、この抽象化を実装する MIME ベースのパッケージプロセッサーに委譲します。
XOP 処理は、isXOPPackage()
が true の場合に有効になります。詳細については、addMtomAttachment(DataHandler, String, String)
を参照してください。
WS-I アタッチメントプロファイル 1.0 は、{http://ws-i.org/profiles/basic/1.1/xsd} swaRef に関連する各 Jakarta XML Binding プロパティのマーシャラーによって呼び出される addSwaRefAttachment(DataHandler)
によってサポートされます。
Marshaller.setAttachmentMarshaller(AttachmentMarshaller)
, XML バイナリ最適化パッケージ , WS-I 接続ファイルプロファイルバージョン 1.0。コンストラクターと説明 |
---|
AttachmentMarshaller() |
修飾子と型 | メソッドと説明 |
---|---|
abstract StringSE | addMtomAttachment(byte[] data, int offset, int length, StringSE mimeType, StringSE elementNamespace, StringSE elementLocalName) 添付ファイルとして最適化されたバイナリストレージ用のバイナリ data を検討してください。 |
abstract StringSE | addMtomAttachment(DataHandler data, StringSE elementNamespace, StringSE elementLocalName) 添付ファイルとして最適化されたバイナリストレージ用の MIME コンテンツ data を検討してください。 |
abstract StringSE | addSwaRefAttachment(DataHandler data) MIME data を添付ファイルとして追加し、添付ファイルの content-id、cid を返します。 |
boolean | isXOPPackage() Jakarta XML Binding マーシャラーが XOP 作成を有効にする必要がある場合に true を返す読み取り専用プロパティ。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public abstract StringSE addMtomAttachment(DataHandler data, StringSE elementNamespace, StringSE elementLocalName)
添付ファイルとして最適化されたバイナリストレージ用の MIME コンテンツ data
を検討してください。
このメソッドは、XOP パッケージの作成のステップ 3 に従って、データ型が "base64Binary" である要素ごとに、isXOPPackage()
が true
の場合に Jakarta XML Binding マーシャルプロセスによって呼び出されます。
メソッドの実装者は、data
を個別にアタッチするか、base64Binary データとしてインライン化するかを決定します。実装がバイナリデータのストレージを MIME パーツとして最適化することを選択した場合、data
を MIME ベースのパッケージにアタッチし、MIME メッセージ内の MIME パーツを識別する一意のコンテンツ ID、cid を割り当てる責任があります。このメソッドは cid を返します。これにより、Jakarta XML Binding マーシャラーは、バイナリデータをマーシャリングする代わりに、その cid を参照する XOP 要素をマーシャリングできます。メソッドが null を返すと、Jakarta XML Binding マーシャラーは data
を base64binary データとしてインライン化します。
このメソッドの呼び出し元は、次の制約を満たす必要があります。data
を含む要素情報セット項目に属性 xmime:contentType
がある場合、または data
を表す Jakarta XML Binding プロパティ / フィールドに既知の MIME 型のアノテーションが付けられている場合は、data.getContentType()
をその MIME 型に設定する必要があります。
elementNamespace
および elementLocalName
パラメーターは、バイナリデータを含むコンテキストを提供します。この情報は、MIME ベースのパッケージプロセッサーが使用して、バイナリデータを接続ファイルとしてインライン化するか最適化するかを決定できます。
data
- 添付するデータを表します。null 以外である必要があります。elementNamespace
- base64Binary データを囲む要素の名前空間 URI。空にすることはできますが、null にすることはできません。elementLocalName
- 要素のローカル名。常に null 以外の有効な文字列。data
を含む添付ファイルを識別する有効な content-idURI(RFC 2387 を参照)。それ以外の場合、添付ファイルが追加されていない場合は null であり、代わりにメッセージにインライン化する必要があります。public abstract StringSE addMtomAttachment(byte[] data, int offset, int length, StringSE mimeType, StringSE elementNamespace, StringSE elementLocalName)
添付ファイルとして最適化されたバイナリストレージ用のバイナリ data
を検討してください。
コンテンツ型が不明なため、添付ファイルの MIME コンテンツ型を "application/octet-stream" に設定する必要があります。
elementNamespace
および elementLocalName
パラメーターは、バイナリデータを含むコンテキストを提供します。この情報は、MIME ベースのパッケージプロセッサーが使用して、バイナリデータを接続ファイルとしてインライン化するか最適化するかを決定できます。
data
- 添付するデータを表します。null 以外である必要があります。実際のデータ領域は、(data,offset,length)
タプルによって指定されます。offset
- 読み取られる最初のバイトの配列内のオフセット。負ではなく、array.length 以下である必要があります length
- 指定された配列から読み取られるバイト数。負ではなく、array.length 以下である必要があります mimeType
- データに Jakarta XML Binding と呼ばれる関連付けられた MIME 型がある場合、このパラメーターとして渡されます。何もわからない場合は、"application/octet-stream"。このパラメーターが null になることはありません。elementNamespace
- base64Binary データを囲む要素の名前空間 URI。空にすることはできますが、null にすることはできません。elementLocalName
- 要素のローカル名。常に null 以外の有効な文字列。data
を含む添付ファイル、データをインライン化する必要がある場合は null。addMtomAttachment(DataHandler, String, String)
public boolean isXOPPackage()
Jakarta XML Binding マーシャラーが XOP 作成を有効にする必要がある場合に true を返す読み取り専用プロパティ。
この値は、マーシャリングプロセス中に変更してはなりません。この値が true の場合、マーシャルプロセスが適切なバイナリデータ型を検出すると、addMtomAttachment(...)
メソッドが呼び出されます。
この値が true
で、マーシャリングされる XML コンテンツが XOP パッケージの作成 http://www.w3.org/TR/2005/REC-xop10-20050125/#creating_xop_packages. のステップ 1 に不正している場合、Marshaller.marshal() は IllegalStateException をスローする必要があります。「元の XML 情報セットに [ 名前空間名 ] が "http://www.w3.org/2004/08/xop/include" で [ ローカル名 ] を持つ要素情報項目が含まれていないことを確認してください」 ] を含める」
このメソッドが true を返し、マーシャルプロセス中に addMtomAttachment(...)
への少なくとも 1 回の呼び出しが content-id を返す場合、MIME ベースのパッケージプロセッサーは、XOP パッケージの作成のステップ 5 に従って、ルート部分に application/xop+xml メディア型のラベルを付ける必要があります。
public abstract StringSE addSwaRefAttachment(DataHandler data)
MIME data
を添付ファイルとして追加し、添付ファイルの content-id、cid を返します。
このメソッドは、{http://ws-i.org/profiles/basic/1.1/xsd} swaRef として入力された各要素 / 属性に対して Jakarta XML Binding マーシャルプロセスによって呼び出されます。このメソッドを実装する MIME ベースのパッケージプロセッサーは、指定されたデータを MIME 接続ファイルに接続し、MIME ベースのパッケージ内の接続ファイルを一意に識別する content-id、cid を生成します。
呼び出し元は、返されたコンテンツ ID、cid を、マーシャリングされる XML コンテンツに挿入します。
data
- 添付するデータを表します。null 以外である必要があります。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.