パッケージ jakarta.mail

インターフェース Part

  • すべての既知のサブインターフェース:
    MimePart
    すべての既知の実装クラス:
    BodyPartMessageMimeBodyPartMimeMessagePreencodedMimeBodyPart

    public interface Part
    Part インターフェースは、メッセージと BodyParts の共通の基本インターフェースです。

    パーツは、一連の属性と「コンテンツ」で構成されます。

    属性:

    Jakarta Mail API は、ほとんどの既存のメールシステムに共通であると見なされる一連の標準部品属性を定義します。これらの属性には、独自の settor メソッドと gettor メソッドがあります。メールシステムは他のパート属性もサポートする場合があります。これらは、名前と値の両方が文字列である名前と値のペアとして表されます。

    コンテンツ:

    「コンテンツ」のデータ型は、getContentType() メソッドによって返されます。データ型の命名には MIME タイピングシステムが使用されます。

    パーツの「コンテンツ」は、さまざまな形式で利用できます。

    • DataHandler として - getDataHandler() メソッドを使用します。パーツの「コンテンツ」は、jakarta.activation.DataHandler オブジェクトを通じても利用できます。DataHandler オブジェクトを使用すると、クライアントはコンテンツで使用可能な操作を検出し、適切なコンポーネントをインスタンス化してそれらの操作を実行できます。
    • 入力ストリームとして - getInputStream() メソッドを使用します。このストリームが返される前に、メール固有のエンコーディングがデコードされます。
    • Java オブジェクトとして - getContent() メソッドを使用します。このメソッドは、「コンテンツ」を Java オブジェクトとして返します。返されるオブジェクトは、もちろんコンテンツ自体に依存しています。特に、「マルチパート」パートのコンテンツは常にマルチパートまたはそのサブクラスです。つまり、「マルチパート」型のパートの getContent() は、常にマルチパート(またはサブクラス)オブジェクトを返します。
    パートは、バイトストリームを送信に適したメールセーフな形式でストリーミングする writeTo() メソッドを提供します。このバイトストリームは通常、Part 属性とそのコンテンツのバイトストリームの集約です。

    Message と BodyPart は Part インターフェースを実装しています。MIME 用語では、Part はエンティティ(RFC 2045、セクション 2.4)をモデル化することに注意してください。

    作成者:
    John Mani
    • フィールドのサマリー

      フィールド  
      修飾子と型 フィールド 説明
      static StringSEATTACHMENT
      このパートは添付ファイルとして提示する必要があります。
      static StringSEINLINE
      このパートはインラインで表示する必要があります。
    • メソッドの詳細

      • getSize

        int getSize()
             throws MessagingException
        このパートのコンテンツのサイズをバイト単位で返します。サイズを判別できない場合は -1 を返します。

        サイズはコンテンツサイズの正確な測定値ではない場合があり、コンテンツの転送エンコードを考慮に入れる場合と考慮しない場合があることに注意してください。このサイズは、ユーザーインターフェースでの表示に適しており、ユーザーにこのパーツのサイズのおおよその目安を提供します。

        戻り値:
        コンテンツのサイズ(バイト)
        例外:
        MessagingException - 失敗
      • getLineCount

        int getLineCount()
                  throws MessagingException
        このパートのコンテンツの行数を返します。数が決定できない場合は -1 を返します。この数値は、コンテンツの長さの正確な測定値ではない場合があり、コンテンツの転送エンコードを考慮に入れる場合と考慮しない場合があることに注意してください。
        戻り値:
        コンテンツの行数。
        例外:
        MessagingException - 失敗
      • getContentType

        StringSE getContentType()
                       throws MessagingException
        このパーツのコンテンツの Content-Type を返します。Content-Type を特定できなかった場合は null を返します。

        MIME タイピングシステムは、コンテンツ型の命名に使用されます。

        戻り値:
        このパートの ContentType
        例外:
        MessagingException - 失敗
        関連事項:
        DataHandler
      • isMimeType

        boolean isMimeType​(StringSE mimeType)
                    throws MessagingException
        これは指定された MIME 型の一部ですか? このメソッドは、primaryType と subType のみを比較します。コンテンツ型のパラメーターは無視されます。

        例: このメソッドは、コンテンツ型 "text/plain" のパーツを "text/plain; charset=foobar" と比較するときに true を返します。

        mimeType の subType が特殊文字 "*" の場合、サブ型は比較中に無視されます。

        パラメーター:
        mimeType - テストする MIME 型
        戻り値:
        このパーツが指定された型である場合は true
        例外:
        MessagingException - 失敗
      • getDisposition

        StringSE getDisposition()
                       throws MessagingException
        この部品の処分を返却してください。配置は、パーツをユーザーに提示する方法を説明します。(RFC 2183 を参照してください)戻り値は、大文字と小文字を区別せずに考慮する必要があります。例:
         String disp = part.getDisposition();
         if (disp == null || disp.equalsIgnoreCase(Part.ATTACHMENT))
                // treat as attachment if not first part
         
        戻り値:
        このパートの後処理。不明の場合は null
        例外:
        MessagingException - 失敗
        関連事項:
        ATTACHMENT, INLINE, getFileName()
      • getDescription

        StringSE getDescription()
                       throws MessagingException
        このパーツの説明文字列を返します。これは通常、このパーツにいくつかの説明情報を関連付けます。何も利用できない場合は null を返します。
        戻り値:
        このパートの説明
        例外:
        MessagingException - 失敗
      • setDescription

        void setDescription​(StringSE description)
                     throws MessagingException
        このパーツの説明文字列を設定します。これは通常、このパーツにいくつかの説明情報を関連付けます。
        パラメーター:
        description - このパートの説明
        例外:
        IllegalWriteException - 基本となる実装がこのヘッダーの変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • getFileName

        StringSE getFileName()
                    throws MessagingException
        可能であれば、このパーツに関連付けられているファイル名を取得します。このパートがファイルからロードされた「添付ファイル」を表す場合に役立ちます。ファイル名は通常、ディレクトリコンポーネントを含まない単純な名前になります。
        戻り値:
        このパーツに関連付けるファイル名
        例外:
        MessagingException - 失敗
      • setFileName

        void setFileName​(StringSE filename)
                  throws MessagingException
        可能であれば、このパーツに関連付けられたファイル名を設定します。このパートがファイルからロードされた「添付ファイル」を表す場合に役立ちます。ファイル名は通常、ディレクトリコンポーネントを含まない単純な名前になります。
        パラメーター:
        filename - このパーツに関連付けるファイル名
        例外:
        IllegalWriteException - 基本となる実装がこのヘッダーの変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • getInputStream

        InputStreamSE getInputStream()
                            throws IOExceptionSE,
                                   MessagingException
        このパートの「コンテンツ」の入力ストリームを返します。メール固有の転送エンコーディングは、入力ストリームが提供される前にデコードされます。

        これは通常、DataHandler の getInputStream() メソッドを呼び出すだけの便利なメソッドです。

        戻り値:
        InputStream
        例外:
        IOExceptionSE - これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。
        MessagingException - その他の障害の場合
        関連事項:
        getDataHandler(), DataHandler.getInputStream()
      • getDataHandler

        DataHandler getDataHandler()
                            throws MessagingException
        このパーツ内のコンテンツの DataHandler を返します。DataHandler を使用すると、クライアントはコンテンツを操作するだけでなく、コンテンツを取得できます。
        戻り値:
        コンテンツの DataHandler
        例外:
        MessagingException - 失敗
      • getContent

        ObjectSE getContent()
                   throws IOExceptionSE,
                          MessagingException
        コンテンツを Java オブジェクトとして返します。もちろん、返されるオブジェクトの型はコンテンツ自体に依存します。例: "text/plain" コンテンツに対して返されるオブジェクトは、通常、String オブジェクトです。「マルチパート」コンテンツに対して返されるオブジェクトは、常にマルチパートサブクラスです。DataHandler システムに認識されていないコンテンツ型の場合、入力ストリームがコンテンツとして返されます

        これは、DataHandler の getContent() メソッドを呼び出すだけの便利なメソッドです。

        戻り値:
        オブジェクト
        例外:
        IOExceptionSE - これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。
        MessagingException - その他の障害の場合
        関連事項:
        DataHandler.getContent()
      • setDataHandler

        void setDataHandler​(DataHandler dh)
                     throws MessagingException
        このメソッドは、このパーツのコンテンツを設定するメカニズムを提供します。DataHandler は実際のコンテンツを囲みます。
        パラメーター:
        dh - コンテンツの DataHandler。
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • setContent

        void setContent​(ObjectSE obj,
                        StringSE type)
                 throws MessagingException
        このパートのコンテンツを設定するための便利なメソッド。パーツはコンテンツを DataHandler で内部的にラップします。

        これが正しく機能するためには、指定された型の DataContentHandler クラスが Jakarta Mail 実装で使用可能である必要があることに注意してください。つまり、setContent(foobar, "application/x-foobar") を実行するには、"application/x-foobar" 用の DataContentHandler をインストールする必要があります。詳細については、Java Activation フレームワークを参照してください。

        パラメーター:
        obj - java オブジェクト。
        type - このオブジェクトの MIME 型。
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • setText

        void setText​(StringSE text)
              throws MessagingException
        指定された文字列を、MIME 型 "text/plain" のこのパーツのコンテンツとして設定する便利なメソッド。
        パラメーター:
        text - メッセージのコンテンツであるテキスト。
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • setContent

        void setContent​(Multipart mp)
                 throws MessagingException
        このメソッドは、指定された Multipart オブジェクトをこのメッセージのコンテンツとして設定します。
        パラメーター:
        mp - メッセージのコンテンツであるマルチパートオブジェクト
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • writeTo

        void writeTo​(OutputStreamSE os)
              throws IOExceptionSE,
                     MessagingException
        このパートのバイトストリームを出力します。このバイトストリームは通常、Part 属性の集合であり、「コンテンツ」から適切にエンコードされたバイトストリームです。

        Part インターフェースを実装するクラスは、使用する適切なエンコーディングアルゴリズムを決定します。

        バイトストリームは通常、送信に使用されます。

        パラメーター:
        os - 書き込むストリーム
        例外:
        IOExceptionSE - ストリームへの書き込みでエラーが発生した場合、または jakarta.activation レイヤーによってエラーが生成された場合。
        MessagingException - 書き込むデータのフェッチ中にエラーが発生した場合
        関連事項:
        DataHandler.writeTo(java.io.OutputStream)
      • getHeader

        StringSE[] getHeader​(StringSE header_name)
                    throws MessagingException
        このヘッダー名のすべてのヘッダーを取得します。このヘッダー名のヘッダーが使用できない場合、null を返します。
        パラメーター:
        header_name - このヘッダーの名前
        戻り値:
        この名前のすべてのヘッダーの値フィールド
        例外:
        MessagingException - 失敗
      • setHeader

        void setHeader​(StringSE header_name,
                       StringSE header_value)
                throws MessagingException
        この header_name の値を設定します。既存のすべてのヘッダー値をこの新しい値で置き換えます。
        パラメーター:
        header_name - このヘッダーの名前
        header_value - このヘッダーの値
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • addHeader

        void addHeader​(StringSE header_name,
                       StringSE header_value)
                throws MessagingException
        この値をこの header_name の既存の値に追加します。
        パラメーター:
        header_name - このヘッダーの名前
        header_value - このヘッダーの値
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • removeHeader

        void removeHeader​(StringSE header_name)
                   throws MessagingException
        この名前のすべてのヘッダーを削除します。
        パラメーター:
        header_name - このヘッダーの名前
        例外:
        IllegalWriteException - 基本となる実装が既存の値の変更をサポートしていない場合
        IllegalStateExceptionSE - このパーツが READ_ONLY フォルダーから取得された場合
        MessagingException - その他の障害の場合
      • getMatchingHeaders

        EnumerationSE<Header> getMatchingHeaders​(StringSE[] header_names)
                                        throws MessagingException
        このパートから一致するヘッダーを Header オブジェクトの列挙として返します。
        パラメーター:
        header_names - 一致するヘッダー
        戻り値:
        Header オブジェクトの列挙
        例外:
        MessagingException - 失敗
      • getNonMatchingHeaders

        EnumerationSE<Header> getNonMatchingHeaders​(StringSE[] header_names)
                                           throws MessagingException
        このエンベロープから一致しないヘッダーを、Header オブジェクトの列挙として返します。
        パラメーター:
        header_names - 一致しないヘッダー
        戻り値:
        Header オブジェクトの列挙
        例外:
        MessagingException - 失敗