javax.mail.internet
インタフェース MimePart

すべてのスーパーインタフェース:
Part
既知の実装クラスの一覧:
IMAPBodyPart, IMAPMessage, IMAPNestedMessage, MimeBodyPart, MimeMessage, POP3Message, SMTPMessage

public interface MimePart
extends Part

MimePart インタフェースは、MIME (RFC2045, Section 2.4) で定義される Entity をモデル化します。

MimePart は Part インタフェースを拡張し、補足的な RFC822 及び MIME 固有のセマンティクスと属性を追加します。 これは MimeMessage 及び MimeBodyPart クラスの基本インタフェースを提供します。


RFC822 及び MIME ヘッダに関するメモ

RFC822 及び MIME ヘッダフィールドは US-ASCII 文字だけを含まなければなりません。 ヘッダが US-ASCII 以外の文字を含む場合、RFC 2047 の規則に従ってエンコードされなければなりません。 このパッケージで提供される MimeUtility クラスを用いてこれを行う事ができます。 setHeaderaddHeader、及び addHeaderLine メソッドの呼び出し側は、 指定されたヘッダが MIME 要件に従う事を保証する必要があります。 又、これらのヘッダフィールドが転送における行の長さ制限 (SMTP の場合は 1000バイト) を超える場合は、 送信の前に折りたたむ (ラップする) 必要があります。 受信ヘッダは折りたたまれている可能性があります。 アプリケーションはヘッダを適切に折りたたみ、展開する責任があります。

関連項目:
MimeUtility, Part

フィールドの概要
 
インタフェース javax.mail.Part から継承されたフィールド
ATTACHMENT, INLINE
 
メソッドの概要
 void addHeaderLine(String line)
          生の RFC822 ヘッダ行を追加します。
 Enumeration getAllHeaderLines()
          全てのヘッダ行を String の列挙型として取得します。
 String getContentID()
          この部分の Content-ID を取得します。
 String[] getContentLanguage()
          この MimePart の Content-Language ヘッダで指定される言語タグを取得します。
 String getContentMD5()
          この部分の Content-MD5 ダイジェストを取得します。
 String getEncoding()
          この部分の転送エンコーディングを取得します。
 String getHeader(String name, String delimiter)
          このヘッダについて使用可能な全てのヘッダフィールドの値を取得し、 区切り文字で区切られた値が単一の String として返されます、 区切り文字が null の場合は、最初の値だけが返されます。
 Enumeration getMatchingHeaderLines(String[] names)
          一致するヘッダ行を String の列挙型として取得します。
 Enumeration getNonMatchingHeaderLines(String[] names)
          一致しないヘッダ行を String の列挙型として取得します。
 void setContentLanguage(String[] languages)
          この MimePart の Content-Language ヘッダを設定します。
 void setContentMD5(String md5)
          この部分の Content-MD5 を設定します。
 void setText(String text)
          指定された String をこの部分のコンテンツとして、 "text/plain" の MIME タイプで設定する簡易メソッドです。
 void setText(String text, String charset)
          "text/plain" の MIME タイプ及び指定された文字セットを使用し、 指定された String をこの部分のコンテンツとして設定する簡易メソッドです。
 
インタフェース javax.mail.Part から継承されたメソッド
addHeader, getAllHeaders, getContent, getContentType, getDataHandler, getDescription, getDisposition, getFileName, getHeader, getInputStream, getLineCount, getMatchingHeaders, getNonMatchingHeaders, getSize, isMimeType, removeHeader, setContent, setContent, setDataHandler, setDescription, setDisposition, setFileName, setHeader, writeTo
 

メソッドの詳細

getHeader

String getHeader(String name,
                 String delimiter)
                 throws MessagingException
このヘッダについて使用可能な全てのヘッダフィールドの値を取得し、 区切り文字で区切られた値が単一の String として返されます、 区切り文字が null の場合は、最初の値だけが返されます。

パラメータ:
name - このヘッダの名前
delimiter - delimiter between fields in returned string
戻り値:
この名前を持つ全てのヘッダに対する値フィールド
例外:
MessagingException

addHeaderLine

void addHeaderLine(String line)
                   throws MessagingException
生の RFC822 ヘッダ行を追加します。

例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - この Part が READ_ONLY フォルダから取得された場合
MessagingException

getAllHeaderLines

Enumeration getAllHeaderLines()
                              throws MessagingException
全てのヘッダ行を String の列挙型として取得します。 Header 行は生の RFC822 ヘッダ行であり、"name" 及び "value" の両フィールドを含みます。

例外:
MessagingException

getMatchingHeaderLines

Enumeration getMatchingHeaderLines(String[] names)
                                   throws MessagingException
一致するヘッダ行を String の列挙型として取得します。 Header 行は生の RFC822 ヘッダ行であり、"name" 及び "value" の両フィールドを含みます。

例外:
MessagingException

getNonMatchingHeaderLines

Enumeration getNonMatchingHeaderLines(String[] names)
                                      throws MessagingException
一致しないヘッダ行を String の列挙型として取得します。 Header 行は生の RFC822 ヘッダ行であり、"name" 及び "value" の両フィールドを含みます。

例外:
MessagingException

getEncoding

String getEncoding()
                   throws MessagingException
この部分の転送エンコーディングを取得します。

戻り値:
内容転送エンコーディング
例外:
MessagingException

getContentID

String getContentID()
                    throws MessagingException
この部分の Content-ID を取得します。何も存在しない場合は null を返します。

戻り値:
コンテンツ ID
例外:
MessagingException

getContentMD5

String getContentMD5()
                     throws MessagingException
この部分の Content-MD5 ダイジェストを取得します。 何も存在しない場合は null を返します。

戻り値:
コンテンツ MD5
例外:
MessagingException

setContentMD5

void setContentMD5(String md5)
                   throws MessagingException
この部分の Content-MD5 を設定します。

パラメータ:
md5 - コンテンツ ID
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - この Part が READ_ONLY フォルダから取得された場合
MessagingException

getContentLanguage

String[] getContentLanguage()
                            throws MessagingException
この MimePart の Content-Language ヘッダで指定される言語タグを取得します。 Content-Language ヘッダは RFC 1766 により定義されます。 このヘッダが使用できない場合は null を返します。

例外:
MessagingException

setContentLanguage

void setContentLanguage(String[] languages)
                        throws MessagingException
この MimePart の Content-Language ヘッダを設定します。 Content-Language ヘッダは RFC1766 により定義されます。

パラメータ:
languages - 言語タグの配列
例外:
IllegalWriteException - 実装が変更をサポートしない場合
IllegalStateException - この Part が READ_ONLY フォルダから取得された場合
MessagingException

setText

void setText(String text)
             throws MessagingException
指定された String をこの部分のコンテンツとして、 "text/plain" の MIME タイプで設定する簡易メソッドです。 文字列に US-ASCII 以外の文字が含まれる場合、 プラットフォームのデフォルトの文字セットを使用してエンコードされます。 この文字セットは "charset" パラメータを設定する為にも使用されます。

このメソッドは使用する文字セットを決める為に全ての文字を走査しなければならない場合があるので、 text が大きい場合は、性能が低下する可能性がある事に注意して下さい。

文字セットが既知の場合、文字セットパラメータを受け取る setText() バージョンを使用して下さい。

定義:
インタフェース Part 内の setText
パラメータ:
text - Message のコンテンツであるテキスト
例外:
IllegalWriteException - 実装がこのヘッダの変更をサポートしない場合
MessagingException
関連項目:
setText(String text, String charset)

setText

void setText(String text,
             String charset)
             throws MessagingException
"text/plain" の MIME タイプ及び指定された文字セットを使用し、 指定された String をこの部分のコンテンツとして設定する簡易メソッドです。 指定された Unicode 文字列は指定された文字セットを使用して文字セットエンコードされます。 この文字セットは "charset" パラメータを設定する為にも使用されます。

例外:
MessagingException