public interface Part
Part
インターフェースは、メッセージと BodyParts の共通の基本インターフェースです。パーツは、一連の属性と「コンテンツ」で構成されます。
属性:
Jakarta Mail API は、ほとんどの既存のメールシステムに共通であると見なされる一連の標準部品属性を定義します。これらの属性には、独自の settor メソッドと gettor メソッドがあります。メールシステムは他のパート属性もサポートする場合があります。これらは、名前と値の両方が文字列である名前と値のペアとして表されます。
コンテンツ:
「コンテンツ」のデータ型は、getContentType()
メソッドによって返されます。データ型の命名には MIME タイピングシステムが使用されます。
パーツの「コンテンツ」は、さまざまな形式で利用できます。
getDataHandler()
メソッドを使用します。パーツの「コンテンツ」は、jakarta.activation.DataHandler
オブジェクトを通じても利用できます。DataHandler オブジェクトを使用すると、クライアントはコンテンツで使用可能な操作を検出し、適切なコンポーネントをインスタンス化してそれらの操作を実行できます。getInputStream()
メソッドを使用します。このストリームが返される前に、メール固有のエンコーディングがデコードされます。getContent()
メソッドを使用します。このメソッドは、「コンテンツ」を Java オブジェクトとして返します。返されるオブジェクトは、もちろんコンテンツ自体に依存しています。特に、「マルチパート」パートのコンテンツは常にマルチパートまたはそのサブクラスです。つまり、「マルチパート」型のパートの getContent()
は、常にマルチパート(またはサブクラス)オブジェクトを返します。writeTo()
メソッドを提供します。このバイトストリームは通常、Part 属性とそのコンテンツのバイトストリームの集約です。Message と BodyPart は Part インターフェースを実装しています。MIME 用語では、Part はエンティティ(RFC 2045、セクション 2.4)をモデル化することに注意してください。
修飾子と型 | フィールドと説明 |
---|---|
static StringSE | ATTACHMENT このパートは添付ファイルとして提示する必要があります。 |
static StringSE | INLINE このパートはインラインで表示する必要があります。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addHeader(StringSE header_name, StringSE header_value) この値をこの header_name の既存の値に追加します。 |
EnumerationSE<Header> | getAllHeaders() このパートのすべてのヘッダーを、Header オブジェクトの列挙として返します。 |
ObjectSE | getContent() コンテンツを Java オブジェクトとして返します。 |
StringSE | getContentType() このパーツのコンテンツの Content-Type を返します。 |
DataHandler | getDataHandler() このパーツ内のコンテンツの DataHandler を返します。 |
StringSE | getDescription() このパーツの説明文字列を返します。 |
StringSE | getDisposition() このパートの処置を返します。 |
StringSE | getFileName() 可能であれば、このパーツに関連付けられているファイル名を取得します。 |
StringSE[] | getHeader(StringSE header_name) このヘッダー名のすべてのヘッダーを取得します。 |
InputStreamSE | getInputStream() このパートの「コンテンツ」の入力ストリームを返します。 |
int | getLineCount() このパートのコンテンツの行数を返します。 |
EnumerationSE<Header> | getMatchingHeaders(StringSE[] header_names) このパートから一致するヘッダーを Header オブジェクトの列挙として返します。 |
EnumerationSE<Header> | getNonMatchingHeaders(StringSE[] header_names) このエンベロープから一致しないヘッダーを、Header オブジェクトの列挙として返します。 |
int | getSize() このパートのコンテンツのサイズをバイト単位で返します。 |
boolean | isMimeType(StringSE mimeType) これは指定された MIME 型の一部ですか? このメソッドは、 primaryType と subType のみを比較します。 |
void | removeHeader(StringSE header_name) この名前のすべてのヘッダーを削除します。 |
void | setContent(Multipart mp) このメソッドは、指定された Multipart オブジェクトをこのメッセージのコンテンツとして設定します。 |
void | setContent(ObjectSE obj, StringSE type) このパートのコンテンツを設定するための便利なメソッド。 |
void | setDataHandler(DataHandler dh) このメソッドは、このパーツのコンテンツを設定するメカニズムを提供します。 |
void | setDescription(StringSE description) このパーツの説明文字列を設定します。 |
void | setDisposition(StringSE disposition) このパーツの配置を設定します。 |
void | setFileName(StringSE filename) 可能であれば、このパーツに関連付けられたファイル名を設定します。 |
void | setHeader(StringSE header_name, StringSE header_value) この header_name の値を設定します。 |
void | setText(StringSE text) 指定された文字列を、MIME 型 "text/plain" のこのパーツのコンテンツとして設定する便利なメソッド。 |
void | writeTo(OutputStreamSE os) このパートのバイトストリームを出力します。 |
static final StringSE ATTACHMENT
static final StringSE INLINE
int getSize() throws MessagingException
サイズはコンテンツサイズの正確な測定値ではない場合があり、コンテンツの転送エンコードを考慮に入れる場合と考慮しない場合があることに注意してください。このサイズは、ユーザーインターフェースでの表示に適しており、ユーザーにこのパーツのサイズのおおよその目安を提供します。
MessagingException
- 失敗 int getLineCount() throws MessagingException
MessagingException
- 失敗 StringSE getContentType() throws MessagingException
MIME タイピングシステムは、コンテンツ型の命名に使用されます。
MessagingException
- 失敗 DataHandler
boolean isMimeType(StringSE mimeType) throws MessagingException
primaryType
と subType
のみを比較します。コンテンツ型のパラメーターは無視されます。 例: このメソッドは、コンテンツ型 "text/plain" のパーツを "text/plain; charset=foobar" と比較するときに true
を返します。
mimeType
の subType
が特殊文字 "*" の場合、サブ型は比較中に無視されます。
mimeType
- テストする MIME 型 MessagingException
- 失敗 StringSE getDisposition() throws MessagingException
String disp = part.getDisposition(); if (disp == null || disp.equalsIgnoreCase(Part.ATTACHMENT)) // treat as attachment if not first part
MessagingException
- 失敗 ATTACHMENT
, INLINE
, getFileName()
void setDisposition(StringSE disposition) throws MessagingException
disposition
- このパートの処分 IllegalWriteException
- 基本となる実装がこのヘッダーの変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 ATTACHMENT
, INLINE
, setFileName(java.lang.String)
StringSE getDescription() throws MessagingException
MessagingException
- 失敗 void setDescription(StringSE description) throws MessagingException
description
- このパートの説明 IllegalWriteException
- 基本となる実装がこのヘッダーの変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 StringSE getFileName() throws MessagingException
MessagingException
- 失敗 void setFileName(StringSE filename) throws MessagingException
filename
- このパーツに関連付けるファイル名 IllegalWriteException
- 基本となる実装がこのヘッダーの変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 InputStreamSE getInputStream() throws IOExceptionSE, MessagingException
これは通常、DataHandler の getInputStream()
メソッドを呼び出すだけの便利なメソッドです。
IOExceptionSE
- これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。MessagingException
- その他の障害の場合 getDataHandler()
, DataHandler.getInputStream()
DataHandler getDataHandler() throws MessagingException
MessagingException
- 失敗 ObjectSE getContent() throws IOExceptionSE, MessagingException
これは、DataHandler の getContent() メソッドを呼び出すだけの便利なメソッドです。
IOExceptionSE
- これは通常、DataHandler によってスローされます。詳細については、jakarta.activation.DataHandler のドキュメントを参照してください。MessagingException
- その他の障害の場合 DataHandler.getContent()
void setDataHandler(DataHandler dh) throws MessagingException
dh
- コンテンツの DataHandler。IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 void setContent(ObjectSE obj, StringSE type) throws MessagingException
これが正しく機能するためには、指定された型の DataContentHandler クラスが Jakarta Mail 実装で使用可能である必要があることに注意してください。つまり、setContent(foobar, "application/x-foobar")
を実行するには、"application/x-foobar" 用の DataContentHandler をインストールする必要があります。詳細については、Java Activation フレームワークを参照してください。
obj
- java オブジェクト。type
- このオブジェクトの MIME 型。IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 void setText(StringSE text) throws MessagingException
text
- メッセージのコンテンツであるテキスト。IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 void setContent(Multipart mp) throws MessagingException
mp
- メッセージのコンテンツであるマルチパートオブジェクト IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 void writeTo(OutputStreamSE os) throws IOExceptionSE, MessagingException
Part インターフェースを実装するクラスは、使用する適切なエンコーディングアルゴリズムを決定します。
バイトストリームは通常、送信に使用されます。
os
- 書き込むストリーム IOExceptionSE
- ストリームへの書き込みでエラーが発生した場合、または jakarta.activation レイヤーによってエラーが生成された場合。MessagingException
- 書き込むデータのフェッチ中にエラーが発生した場合 DataHandler.writeTo(java.io.OutputStream)
StringSE[] getHeader(StringSE header_name) throws MessagingException
null
を返します。header_name
- このヘッダーの名前 MessagingException
- 失敗 void setHeader(StringSE header_name, StringSE header_value) throws MessagingException
header_name
- このヘッダーの名前 header_value
- このヘッダーの値 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 void addHeader(StringSE header_name, StringSE header_value) throws MessagingException
header_name
- このヘッダーの名前 header_value
- このヘッダーの値 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 void removeHeader(StringSE header_name) throws MessagingException
header_name
- このヘッダーの名前 IllegalWriteException
- 基本となる実装が既存の値の変更をサポートしていない場合 IllegalStateExceptionSE
- このパーツが READ_ONLY フォルダーから取得された場合 MessagingException
- その他の障害の場合 EnumerationSE<Header> getAllHeaders() throws MessagingException
MessagingException
- 失敗 EnumerationSE<Header> getMatchingHeaders(StringSE[] header_names) throws MessagingException
header_names
- 一致するヘッダー MessagingException
- 失敗 EnumerationSE<Header> getNonMatchingHeaders(StringSE[] header_names) throws MessagingException
header_names
- 一致しないヘッダー MessagingException
- 失敗 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.