|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.mail.Multipart
javax.mail.internet.MimeMultipart
public final class MimeMultipart
MimeMultipart クラスは、multipart データについて MIME 規則を使用する抽象 Multipart クラスの実装です。
MimeMultipart は、プライマリタイプが "multipart" である MimePart から
(パートの getContent()
メソッドを呼び出す事によって) 取得するか、
新しい MimeMessage の作成の一部としてクライアントにより作成できます。
デフォルトの multipart サブタイプは "mixed" です。 他の multipart サブタイプである "alternative" や "related" 等は、 MimeMultipart のサブクラスとして実装し、 そのタイプの multipart コンテンツの補足的なセマンティクスを実装するメソッドを追加する事によって実装できます。 この目的は、サービスプロバイダ、メール JavaBean 開発者、 及びメールクライアントが多数の同様なサブクラスと Command Beans を作成し、 JavaBeans Activation Framework にインストールして、 任意の JavaMail 実装とクライアントがこれらのクラスを透過的に見つけ、使用できるようにする事です。 従って、MIME multipart ハンドラは他の任意のハンドラと同様に扱われ、 multipart ハンドラの提供処理を JavaMail API から分離します。 こうした補足的な MimeMultipart サブクラスがない場合、 MIME multipart データの全てのサブタイプは MimeMultipart オブジェクトとして現れます。
アプリケーションは、MimeMultipart(String Subtype)
コンストラクタを使用する事で、
任意のサブタイプの MIME multipart オブジェクトを直接作成できます。
例えば、"multipart/alternative" オブジェクトを作成するには new MimeMultipart("alternative")
を使用します。
In the current implementation, the
mail.mime.multipart.ignoremissingendboundary
System
property may be set to false
to cause a
MessagingException
to be thrown if the multipart
data does not end with the required end boundary line. If this
property is set to true
or not set, missing end
boundaries are not considered an error and the final body part
ends at the end of the data.
フィールドの概要 | |
---|---|
protected DataSource |
ds
InputStream を供給する DataSource です。 |
protected boolean |
parsed
InputStream からのデータを構文解析したかどうかを示します。 |
クラス javax.mail.Multipart から継承されたフィールド |
---|
contentType, parent, parts |
コンストラクタの概要 | |
---|---|
MimeMultipart()
デフォルトのコンストラクタです。 |
|
MimeMultipart(String subtype)
指定されたサブタイプの MimeMultipart オブジェクトを構築します。 |
メソッドの概要 | |
---|---|
protected InternetHeaders |
createInternetHeaders(InputStream is)
指定された InputStream からヘッダをロードする InternetHeaders オブジェクトを作成し、返します。 |
protected MimeBodyPart |
createMimeBodyPart(InputStream is)
InputStream から構文解析される本文部分を表す MimeBodyPart オブジェクトを作成し、返します。 |
protected MimeBodyPart |
createMimeBodyPart(InternetHeaders headers,
byte[] content)
InputStream から構文解析される本文部分を表す MimeBodyPart オブジェクトを作成し、返します。 |
BodyPart |
getBodyPart(int index)
指定された BodyPart を取得します。 |
BodyPart |
getBodyPart(String CID)
指定された ContentID (CID) により参照される MimeBodyPart を取得します。 |
int |
getCount()
含まれる BodyPart オブジェクトの数を返します。 |
protected void |
parse()
DataSource からの InputStream を構文解析し、適切な MimeBodyParts を構築します。 |
void |
setSubType(String subtype)
サブタイプを設定します。 |
protected void |
updateHeaders()
ヘッダを更新します。 |
void |
writeTo(OutputStream os)
全てのパートを通じて繰り返し、境界で区切られた各 Mime パートを出力します。 |
クラス javax.mail.Multipart から継承されたメソッド |
---|
addBodyPart, addBodyPart, getContentType, getParent, removeBodyPart, removeBodyPart, setMultipartDataSource, setParent |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected DataSource ds
protected boolean parsed
コンストラクタの詳細 |
---|
public MimeMultipart()
contentType
フィールドの "boundary" パラメータとして設定されます。MimeBodyParts を後で追加することができます。
public MimeMultipart(String subtype)
contentType
フィールドの "boundary" パラメータとして設定されます。MimeBodyParts を後で追加することができます。
メソッドの詳細 |
---|
public void setSubType(String subtype) throws MessagingException
subtype
- Subtype
MessagingException
public int getCount() throws MessagingException
Multipart
内の getCount
MessagingException
Multipart.parts
public BodyPart getBodyPart(int index) throws MessagingException
Multipart
内の getBodyPart
index
- 要求する BodyPart のインデックス
MessagingException
- 要求された BodyPart が存在しない場合public BodyPart getBodyPart(String CID) throws MessagingException
CID
- 要求するパートの ContentID
MessagingException
protected void updateHeaders() throws MessagingException
updateHeaders
メソッドを呼び出すだけです。新しい空の MimeMultipart オブジェクトが作成される場合、 境界パラメータは既に設定されている事に注意して下さい。
このメソッドは、この Multipart を含む Message オブジェクト上で saveChanges
メソッドが呼び出される時に呼び出されます。
これは一般に Message 送信処理の一部として行われますが、
クライアントから何度でも呼び出す事が可能である事に注意して下さい。
従って、ヘッダ更新処理が特定の MimeMultipart サブクラスにとって負荷が重い場合、
内部状態が実際に変化したかどうかを追跡し、必要な場合にのみヘッダ更新を行う事もあります。
MessagingException
public void writeTo(OutputStream os) throws IOException, MessagingException
Multipart
内の writeTo
IOException
- IO 関連の例外が発生した場合
MessagingException
protected void parse() throws MessagingException
parsed
フラグは true に設定されます。
呼ばれた時に true の場合は何も行われません。
このメソッドは本文部分のデータが必要な他の全てのメソッドにより呼び出され、
データが構文解析済みである事を保証します。
MessagingException
protected InternetHeaders createInternetHeaders(InputStream is) throws MessagingException
is
- ヘッダ読み込み元の InputStream
MessagingException
protected MimeBodyPart createMimeBodyPart(InternetHeaders headers, byte[] content)
headers
- 本文部分のヘッダcontent
- 本文部分のコンテンツ
MessagingException
protected MimeBodyPart createMimeBodyPart(InputStream is) throws MessagingException
is
- 本文部分を含む InputStream
MessagingException
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |