クラス AttachmentMarshaller


  • 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) によってサポートされます。

    導入:
    1.6、JAXB 2.0
    作成者:
    Marc Hadley, Kohsuke Kawaguchi, Joseph Fialli
    関連事項:
    Marshaller.setAttachmentMarshaller(AttachmentMarshaller), XML バイナリ最適化パッケージ , WS-I 接続ファイルプロファイルバージョン 1.0
    • コンストラクターの詳細

      • AttachmentMarshaller

        protected AttachmentMarshaller()
        派生クラスの何もしないコンストラクター。
    • メソッドの詳細

      • addMtomAttachment

        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 であり、代わりにメッセージにインライン化する必要があります。
        関連事項:
        XML バイナリ最適化パッケージ , XML でのバイナリデータのメディアコンテンツの記述
      • addMtomAttachment

        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 以外の有効な文字列。
        戻り値:
        content-id URI、cid、data を含む添付ファイル、データをインライン化する必要がある場合は null。
        関連事項:
        addMtomAttachment(DataHandler, String, String)
      • isXOPPackage

        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 メディア型のラベルを付ける必要があります。

        戻り値:
        MIME コンテキストが XOP パッケージの場合は true。
      • addSwaRefAttachment

        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 以外である必要があります。
        戻り値:
        cid として使用される有効な URI である必要があります。WS-I 接続ファイルプロファイルバージョン 1.0 の適合要件 R2928 を満たす必要があります。