|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
java.lang.Object
|
+--javax.mail.Multipart
|
+--javax.mail.internet.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") を使用します。
| フィールドの概要 | |
protected DataSource |
ds
InputStream を供給する DataSource です。 |
protected boolean |
parsed
InputStream からのデータを構文解析したかどうかを示します。 |
| クラス javax.mail.Multipart から継承したフィールド |
contentType, parent, parts |
| コンストラクタの概要 | |
MimeMultipart()
デフォルトのコンストラクタです。 |
|
MimeMultipart(DataSource ds)
MimeMultipart オブジェクトとその本文部分を、指定された DataSource から構築します。 |
|
MimeMultipart(java.lang.String subtype)
指定されたサブタイプの MimeMultipart オブジェクトを構築します。 |
|
| メソッドの概要 | |
protected InternetHeaders |
createInternetHeaders(java.io.InputStream is)
指定された InputStream からヘッダをロードする InternetHeaders オブジェクトを作成し、返します。 |
protected MimeBodyPart |
createMimeBodyPart(java.io.InputStream is)
InputStream から構文解析される本文部分を表す MimeBodyPart オブジェクトを作成し、返します。 |
protected MimeBodyPart |
createMimeBodyPart(InternetHeaders headers,
byte[] content)
InputStream から構文解析される本文部分を表す MimeBodyPart オブジェクトを作成し、返します。 |
BodyPart |
getBodyPart(int index)
指定された BodyPart を取得します。 |
BodyPart |
getBodyPart(java.lang.String CID)
指定された ContentID (CID) により参照される MimeBodyPart を取得します。 |
int |
getCount()
含まれる BodyPart オブジェクトの数を返します。 |
protected void |
parse()
DataSource からの InputStream を構文解析し、適切な MimeBodyParts を構築します。 |
void |
setSubType(java.lang.String subtype)
サブタイプを設定します。 |
protected void |
updateHeaders()
ヘッダを更新します。 |
void |
writeTo(java.io.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(java.lang.String subtype)
contentType フィールドの「boundary」パラメータとして設定されます。
MimeBodyParts を後で追加することができます。
public MimeMultipart(DataSource ds)
throws MessagingException
このコンストラクタは、指定された DataSource が MultipartDataSource オブジェクトである状況を特殊なケースとして処理します。この場合、このメソッドは、MultipartDataSource オブジェクトを使用するスーパークラス (つまり、Multipart) コンストラクタを呼び出すだけです。
そうでない場合、DataSource は MIME multipart バイトストリームを提供するものとみなされます。parsed フラグは false に設定されます。本文部分のデータが必要な場合、パーサはこの DataSource のコンテンツ形式から「boundary」パラメータを抽出し、「プリアンブル」をスキップして終了境界までバイトを読み込み、ストリームの各パートごとに MimeBodyParts を作成します。
ds - MultipartDataSource となる場合のある DataSource| メソッドの詳細 |
public void setSubType(java.lang.String subtype)
throws MessagingException
subtype - サブタイプ
public int getCount()
throws MessagingException
Multipart 内の getCount
public BodyPart getBodyPart(int index)
throws MessagingException
Multipart 内の getBodyPartindex - 要求する BodyPart のインデックスMessagingException - 要求された BodyPart が存在しない場合
public BodyPart getBodyPart(java.lang.String CID)
throws MessagingException
CID - 要求するパートの ContentID
protected void updateHeaders()
throws MessagingException
updateHeaders メソッドを呼び出すだけです。
新しい空の MimeMultipart オブジェクトが作成される場合、境界パラメータはすでに設定されていることに注意してください。
このメソッドは、この Multipart を含む Message オブジェクト上で saveChanges メソッドが呼び出されるときに呼び出されます。これは一般に Message 送信処理の一部として行われますが、クライアントから何度でも呼び出すことが可能であることに注意してください。したがって、ヘッダ更新処理が特定の MimeMultipart サブクラスにとって負荷が重い場合、内部状態が実際に変化したかどうかを追跡し、必要な場合にのみヘッダ更新を行うこともあります。
public void writeTo(java.io.OutputStream os)
throws java.io.IOException,
MessagingException
Multipart 内の writeTojavax.mail.Multipart からコピーされたタグ:java.io.IOException - IO 関連の例外が発生した場合MessagingException -
protected void parse()
throws MessagingException
parsed フラグは true に設定されます。呼ばれた時に true の場合は何も行われません。このメソッドは本文部分のデータが必要な他のすべてのメソッドにより呼び出され、データが構文解析済みであることを保証します。
protected InternetHeaders createInternetHeaders(java.io.InputStream is)
throws MessagingException
is - ヘッダ読み込み元の InputStreamMessagingException -
protected MimeBodyPart createMimeBodyPart(InternetHeaders headers,
byte[] content)
throws MessagingException
headers - 本文部分のヘッダcontent - 本文部分のコンテンツMessagingException -
protected MimeBodyPart createMimeBodyPart(java.io.InputStream is)
throws MessagingException
is - 本文部分を含む InputStreamMessagingException -
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||