javax.mail
クラス Multipart

java.lang.Object
  上位を拡張 javax.mail.Multipart
直系の既知のサブクラス:
MimeMultipart

public abstract class Multipart
extends Object

Multipart は複数の本文部分を保持するコンテナです。 Multipart はサブパートを取り出し、設定するメソッドを提供します。

Multipart は、殆どの Multipart DataContentHandlers により返される コンテンツオブジェクトの基底クラスとしても機能します。 例えば、ソースが "multipart/signed" データソースである DataHandler 上で getContent() を呼び出すと、 Multipart の適切なサブクラスが返されます。

一部のメッセージングシステムは、Multipart の異なるサブタイプを提供します。 例えば、MIME は "alternative"、"mixed"、"related"、"parallel"、 "signed" 等を含む一連のサブタイプを指定します。

Multipart は抽象クラスです。サブクラスは現実の実装を提供します。


フィールドの概要
protected  String contentType
          このフィールドは、この multipart オブジェクトのコンテンツタイプを指定します。
protected  Part parent
          既知の場合、この Multipart を含む Part です。
protected  Vector parts
          BodyPart オブジェクトの Vector です。
 
コンストラクタの概要
protected Multipart()
          デフォルトのコンストラクタです。
 
メソッドの概要
 void addBodyPart(BodyPart part)
          マルチパートに Part を追加します。
 void addBodyPart(BodyPart part, int index)
          index の位置に BodyPart を追加します。
 BodyPart getBodyPart(int index)
          指定された Part を取得します。
 String getContentType()
          この Multipart のコンテンツタイプを返します。
 int getCount()
          囲まれた BodyPart オブジェクトの数を返します。
 Part getParent()
          この Multipart オブジェクトを含む Part を返します。
 boolean removeBodyPart(BodyPart part)
          マルチパートメッセージから、指定された Part を削除します。
 void removeBodyPart(int index)
          指定された場所 (0 から開始) の Part を削除します。
protected  void setMultipartDataSource(MultipartDataSource mp)
          指定された MultipartDataSource からこの Multipart オブジェクトを設定します。
 void setParent(Part parent)
          指定された Part を、この Multipart の親として設定します。
abstract  void writeTo(OutputStream os)
          指定された OutputStream に適切にエンコードされたバイトストリームを出力します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

parts

protected Vector parts
BodyPart オブジェクトの Vector です。


contentType

protected String contentType
このフィールドは、この multipart オブジェクトのコンテンツタイプを指定します。 デフォルトは "multipart/mixed" です。


parent

protected Part parent
既知の場合、この Multipart を含む Part です。

導入されたバージョン:
JavaMail 1.1
コンストラクタの詳細

Multipart

protected Multipart()
デフォルトのコンストラクタです。空の Multipart オブジェクトが作成されます。

メソッドの詳細

setMultipartDataSource

protected final void setMultipartDataSource(MultipartDataSource mp)
                                     throws MessagingException
指定された MultipartDataSource からこの Multipart オブジェクトを設定します。

このメソッドは、MultipartDataSource の BodyPart オブジェクトをこの Multipart に追加します。 この Multipart のコンテンツタイプは、MultipartDataSource のコンテンツタイプに設定されます。

一般にこのメソッドは、個別の本文部分に事前解析済みの マルチパートデータソース (IMAP データソース等) があるが、 特定のマルチパートサブタイプを表す適切な Multipart サブクラスを 作成する必要がある場合に使用されます。

パラメータ:
mp - Multipart データソース
例外:
MessagingException

getContentType

public final String getContentType()
この Multipart のコンテンツタイプを返します。

この実装は contentType フィールドの値を返すだけです。

戻り値:
コンテンツタイプ
関連項目:
contentType

getCount

public int getCount()
             throws MessagingException
囲まれた BodyPart オブジェクトの数を返します。

戻り値:
パートの数
例外:
MessagingException
関連項目:
parts

getBodyPart

public BodyPart getBodyPart(int index)
                     throws MessagingException
指定された Part を取得します。Part には 0 から始まる番号が付けられます。

パラメータ:
index - 要求する Part のインデックス
戻り値:
Part
例外:
IndexOutOfBoundsException - 指定したインデックスが範囲外にある場合
MessagingException

removeBodyPart

public final boolean removeBodyPart(BodyPart part)
                             throws MessagingException
マルチパートメッセージから、指定された Part を削除します。 削除された Part 以降の全ての Part を 1 つ前にずらします。

パラメータ:
part - 削除する Part
戻り値:
Part が削除された場合は true、そうでない場合は false
例外:
MessagingException - そうした Part が存在しない場合
IllegalWriteException - 実装が既存値の変更をサポートしない場合

removeBodyPart

public final void removeBodyPart(int index)
                          throws MessagingException
指定された場所 (0 から開始) の Part を削除します。 削除された Part 以降の全ての Part を 1 つ前にずらします。

パラメータ:
index - 削除する Part のインデックス
例外:
MessagingException
IndexOutOfBoundsException - 指定したインデックスが範囲外にある場合
IllegalWriteException - 実装が既存値の変更をサポートしない場合

addBodyPart

public void addBodyPart(BodyPart part)
                 throws MessagingException
マルチパートに Part を追加します。 BodyPart は既存の Part の一覧に追加されます。

パラメータ:
part - 追加される Part
例外:
MessagingException
IllegalWriteException - 実装が既存値の変更をサポートしない場合

addBodyPart

public void addBodyPart(BodyPart part,
                        int index)
                 throws MessagingException
index の位置に BodyPart を追加します。 index が一覧中の最後でない場合、後続の Part が 1 つ後ろにずらされます。 index が存在する Part の数よりも大きい場合、BodyPart は終わりに追加されます。

パラメータ:
part - 挿入される BodyPart
index - Part を挿入する場所
例外:
MessagingException
IllegalWriteException - 実装が既存値の変更をサポートしない場合

writeTo

public abstract void writeTo(OutputStream os)
                      throws IOException,
                             MessagingException
指定された OutputStream に適切にエンコードされたバイトストリームを出力します。 実装サブクラスは、使用される適切なエンコーディングアルゴリズムを決定します。 このバイトストリームは一般に送信の為に使用されます。

例外:
IOException - IO 関連の例外が発生した場合
MessagingException

getParent

public final Part getParent()
この Multipart オブジェクトを含む Part を返します。 不明な場合は null を返します。

導入されたバージョン:
JavaMail 1.1

setParent

public final void setParent(Part parent)
指定された Part を、この Multipart の親として設定します。 通常、Message 又は BodyPartsetContent(Multipart) メソッドにより呼び出されます。 Multipart が包含する Part から削除されている場合、 parentnull になることがあります。

導入されたバージョン:
JavaMail 1.1