|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
java.lang.Object
|
+--javax.mail.BodyPart
|
+--javax.mail.internet.MimeBodyPart
このクラスは MIME 本文部分を表します。これは BodyPart 抽象クラスと MimePart インタフェースを実装します。MimeBodyParts は MimeMultipart オブジェクトに含まれます。
MimeBodyPart は InternetHeaders クラスを使用し、本文部分のヘッダを構文解析し、格納します。
RFC822 ヘッダフィールドは US-ASCII 文字だけを含まなければなりません。MIME では ASCII 以外の文字をエンコーディングすることにより、特定のヘッダの特定の部分に設定可能です。RFC 2047 はこの処理の規則を指定します。このパッケージで提供される MimeUtility クラスを用いて、この処理を行うことができます。setHeader、addHeader、および addHeaderLine メソッドの呼び出し側は指定されたヘッダが MIME 要件に従うことを保証しなければなりません。また、これらのヘッダフィールドが転送における行の長さ制限 (SMTP の場合は 1000バイト) を超える場合は、送信の前に折りたたむ (ラップする) 必要があります。受信ヘッダは折りたたまれている可能性があります。アプリケーションはヘッダを適切に折りたたみ、展開する責任があります。
Part,
MimePart,
MimeUtility| フィールドの概要 | |
protected byte[] |
content
この Part の内容のバイトを保持するバイト配列です。 |
protected java.io.InputStream |
contentStream
この本文部分のデータが SharedInputStream インタフェースを実装する InputStream により供給された場合、 contentStream がこの本文部分の内容を表すもう 1 つのストリームです。 |
protected DataHandler |
dh
この Part の内容を表す DataHandler オブジェクトです。 |
protected InternetHeaders |
headers
この本文部分のすべてのヘッダを格納する InternetHeaders オブジェクトです。 |
| クラス javax.mail.BodyPart から継承したフィールド |
parent |
| インタフェース javax.mail.Part から継承したフィールド |
ATTACHMENT, INLINE |
| コンストラクタの概要 | |
MimeBodyPart()
空の MimeBodyPart オブジェクトが作成されます。 |
|
MimeBodyPart(java.io.InputStream is)
指定された入力ストリームからのデータを読み取り、構文解析することにより、MimeBodyPart を構築します。 |
|
MimeBodyPart(InternetHeaders headers,
byte[] content)
指定されたヘッダと内容バイトを使用して MimeBodyPart を構築します。 |
|
| メソッドの概要 | |
void |
addHeader(java.lang.String name,
java.lang.String value)
この値をこの header_name の既存値に追加します。 |
void |
addHeaderLine(java.lang.String line)
ヘッダ行をこの本文部分に追加します。 |
java.util.Enumeration |
getAllHeaderLines()
すべてのヘッダ行を String の Enumeration として取得します。 |
java.util.Enumeration |
getAllHeaders()
この Message のすべてのヘッダを Header オブジェクトの Enumeration として返します。 |
java.lang.Object |
getContent()
内容を java オブジェクトとして返します。 |
java.lang.String |
getContentID()
「Content-ID」ヘッダフィールドの値を返します。 |
java.lang.String[] |
getContentLanguage()
この MimePart の Content-Language ヘッダで指定される言語を取得します。 |
java.lang.String |
getContentMD5()
「Content-MD5」ヘッダフィールドの値を返します。 |
protected java.io.InputStream |
getContentStream()
内容の raw バイトを生成します。 |
java.lang.String |
getContentType()
RFC 822「Content-Type」ヘッダフィールドの値を返します。 |
DataHandler |
getDataHandler()
この本文部分の内容の DataHandler を返します。 |
java.lang.String |
getDescription()
この本文部分の「Content-Description」ヘッダフィールドを返します。 |
java.lang.String |
getDisposition()
「Content-Disposition」ヘッダフィールドの値を返します。 |
java.lang.String |
getEncoding()
「Content-Transfer-Encoding」ヘッダフィールドからの内容転送エンコーディングを返します。 |
java.lang.String |
getFileName()
この本文部分に関連付けられたファイル名を取得します。 |
java.lang.String[] |
getHeader(java.lang.String name)
この header_name のすべてのヘッダを取得します。 |
java.lang.String |
getHeader(java.lang.String name,
java.lang.String delimiter)
このヘッダ名のすべてのヘッダを取得し、区切り文字で区切られたヘッダが単一の String として返されます、区切り文字が null の場合は、最初のヘッダだけが返されます。 |
java.io.InputStream |
getInputStream()
この本文部分の「content」に対するデコードされた入力ストリームを返します。 |
int |
getLineCount()
この Part の内容の行数を返します。 |
java.util.Enumeration |
getMatchingHeaderLines(java.lang.String[] names)
一致するヘッダ行を String の Enumeration として取得します。 |
java.util.Enumeration |
getMatchingHeaders(java.lang.String[] names)
この Message の一致するヘッダを Header オブジェクトの Enumeration として返します。 |
java.util.Enumeration |
getNonMatchingHeaderLines(java.lang.String[] names)
一致しないヘッダ行を String の Enumeration として取得します。 |
java.util.Enumeration |
getNonMatchingHeaders(java.lang.String[] names)
この Message の一致しないヘッダを Header オブジェクトの Enumeration として返します。 |
java.io.InputStream |
getRawInputStream()
任意の Content-Transfer-Encoding をそのままにして、raw データへの InputStream を返します。 |
int |
getSize()
この本文部分の内容サイズをバイト単位で返します。 |
boolean |
isMimeType(java.lang.String mimeType)
指定された MIME タイプの Part かどうかを識別します。 |
void |
removeHeader(java.lang.String name)
この名前を持つすべてのヘッダを削除します。 |
void |
setContent(Multipart mp)
このメソッドは本文部分の内容を Multipart オブジェクトに設定します。 |
void |
setContent(java.lang.Object o,
java.lang.String type)
この本文部分の内容を設定するための簡易メソッドです。 |
void |
setContentLanguage(java.lang.String[] languages)
この MimePart の Content-Language ヘッダを設定します。 |
void |
setContentMD5(java.lang.String md5)
この本文部分の「Content-MD5」ヘッダフィールドを設定します。 |
void |
setDataHandler(DataHandler dh)
このメソッドは、この本文部分の内容を設定するための仕組みを提供します。 |
void |
setDescription(java.lang.String description)
この本文部分の「Content-Description」ヘッダフィールドを設定します。 |
void |
setDescription(java.lang.String description,
java.lang.String charset)
この本文部分の「Content-Description」ヘッダを設定します。 |
void |
setDisposition(java.lang.String disposition)
この本文部分の「Content-Disposition」ヘッダフィールドを設定します。 |
void |
setFileName(java.lang.String filename)
可能であれば、この本文部分に関連付けられたファイル名を設定します。 |
void |
setHeader(java.lang.String name,
java.lang.String value)
この header_name の値を設定します。 |
void |
setText(java.lang.String text)
指定された String をこの部分のコンテンツとして、「text/plain」の MIME タイプで設定する簡易メソッドです。 |
void |
setText(java.lang.String text,
java.lang.String charset)
「text/plain」の MIME タイプおよび指定された文字セットを使用し、指定された String をこの部分のコンテンツとして設定する簡易メソッドです。 |
protected void |
updateHeaders()
この本文部分の内容を検査し、適切な MIME ヘッダを更新します。 |
void |
writeTo(java.io.OutputStream os)
本文部分を RFC 822 形式のストリームとして出力します。 |
| クラス javax.mail.BodyPart から継承したメソッド |
getParent |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
protected DataHandler dh
protected byte[] content
protected java.io.InputStream contentStream
contentStream がこの本文部分の内容を表すもう 1 つのストリームです。この場合、content は null です。protected InternetHeaders headers
| コンストラクタの詳細 |
public MimeBodyPart()
public MimeBodyPart(java.io.InputStream is)
throws MessagingException
本文部分を区切る「境界」文字列は入力ストリームに含まれていてはなりません。MimeMultipart パーサは maultipart ストリームから各本文部分のバイトを抽出し、区切り文字列なしでこのコンストラクタに与えます。
is - 本文部分の Input Stream
public MimeBodyPart(InternetHeaders headers,
byte[] content)
throws MessagingException
プロバイダが使用します。
headers - この部分のヘッダcontent - この部分の本文を表すバイト| メソッドの詳細 |
public int getSize()
throws MessagingException
この数値は内容サイズの正確な測定値でない可能性があり、内容の転送エンコーディングを示すこともそうでないこともある点に注意してください。
この実装は、content 配列 のサイズ (null でない場合)、または contentStream が null でなく、available メソッドが正の数を返す場合、その数をサイズとして返します。それ以外の場合は -1 を返します。
Part 内の getSize
public int getLineCount()
throws MessagingException
この数値は内容の長さの正確な測定値でない可能性があり、内容の転送エンコーディングを示すこともそうでないこともある点に注意してください。
この実装は -1 を返します。
Part 内の getLineCount
public java.lang.String getContentType()
throws MessagingException
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
Part 内の getContentType
public boolean isMimeType(java.lang.String mimeType)
throws MessagingException
primaryType と subType のみを比較します。コンテンツ形式のパラメータは無視されます。
たとえば、コンテンツ形式 「text/plain」 と 「text/plain; charset=foobar」 の Part を比較すると、このメソッドは true を返します。
mimeType の subType が特殊文字「*」の場合、比較時にサブタイプは無視されます。
Part 内の isMimeType
public java.lang.String getDisposition()
throws MessagingException
Content-Disposition フィールドが使用できない場合は null が返されます。
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
Part 内の getDispositionheaders
public void setDisposition(java.lang.String disposition)
throws MessagingException
Part 内の setDispositionIllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合
public java.lang.String getEncoding()
throws MessagingException
null を返します。
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
MimePart 内の getEncodingheaders
public java.lang.String getContentID()
throws MessagingException
null を返します。
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
MimePart 内の getContentIDjavax.mail.internet.MimePart からコピーされたタグ:
public java.lang.String getContentMD5()
throws MessagingException
null を返します。
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
MimePart 内の getContentMD5javax.mail.internet.MimePart からコピーされたタグ:
public void setContentMD5(java.lang.String md5)
throws MessagingException
MimePart 内の setContentMD5IllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合
public java.lang.String[] getContentLanguage()
throws MessagingException
null を返します。
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
MimePart 内の getContentLanguage
public void setContentLanguage(java.lang.String[] languages)
throws MessagingException
MimePart 内の setContentLanguagelanguages - 言語タグの配列
public java.lang.String getDescription()
throws MessagingException
Content-Description フィールドが RFC 2047 に従ってエンコーディングされている場合、デコードされ、Unicode に変換されます。デコーディングまたは変換が失敗した場合、raw データがそのまま返されます。
この実装は getHeader(name) を使用し、必要なヘッダフィールドを取得します。
Part 内の getDescription
public void setDescription(java.lang.String description)
throws MessagingException
null の場合は既存のすべての「Content-Description」フィールドが削除されます。
description に US-ASCII 以外の文字が含まれる場合は、プラットフォームのデフォルト文字セットを使用してエンコードされます。description に US-ASCII 文字だけが含まれる場合は、エンコーディングは行われず、そのまま使用されます。
文字セットエンコーディング処理が失敗する場合、MessagingException がスローされ、UnsupportedEncodingException が MessagingException 内の入れ子にされた例外のチェーンに含まれることに注意してください。
Part 内の setDescriptiondescription - 内容の説明IllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合MessagingException - 文字セット変換が失敗すると、UnsupportedEncodingException が例外チェーンに含まれる場合がある
public void setDescription(java.lang.String description,
java.lang.String charset)
throws MessagingException
null の場合は既存のすべての「Content-Description」フィールドが削除されます。
description に US-ASCII 以外の文字が含まれる場合は、指定された文字セットを使用してエンコードされます。description に US-ASCII 文字だけが含まれる場合は、エンコーディングは行われず、そのまま使用されます。
文字セットエンコーディング処理が失敗する場合、MessagingException がスローされ、UnsupportedEncodingException が MessagingException 内の入れ子にされた例外のチェーンに含まれることに注意してください。
description - 説明charset - エンコーディングのための文字セットIllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合MessagingException - 文字セット変換が失敗すると、UnsupportedEncodingException が例外チェーンに含まれる場合がある
public java.lang.String getFileName()
throws MessagingException
この本文部分の「Content-Disposition」ヘッダフィールドにおける「filename」パラメータの値を返します。このパラメータが使用できない場合は、この本文部分の「Content-Type」ヘッダフィールドにおける「name」パラメータの値を返します。両方とも存在しない場合は null を返します。
Part 内の getFileName
public void setFileName(java.lang.String filename)
throws MessagingException
この本文部分の「Content-Disposition」ヘッダフィールドにおける「filename」パラメータを設定します。
Part 内の setFileNameIllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合
public java.io.InputStream getInputStream()
throws java.io.IOException,
MessagingException
この実装は DataHandler から入力ストリームを取得します。つまり、getDataHandler().getInputStream(); を呼び出します。
Part 内の getInputStreamMessagingException - java.io.IOException - これは通常 DataHandler によりスローされる。詳細については javax.activation.DataHandler のマニュアルを参照getContentStream(),
DataHandler.getInputStream()
protected java.io.InputStream getContentStream()
throws MessagingException
content,
MimeMessage.getContentStream()
public java.io.InputStream getRawInputStream()
throws MessagingException
getInputStream メソッドまたは getContent メソッドは、正しいデータを返すことができません。アプリケーションはこのメソッドを使用し、raw データそのもののデコードを試みることができます。
この実装は単に getContentStream メソッドを呼び出します。
getInputStream(),
getContentStream()
public DataHandler getDataHandler()
throws MessagingException
ここで提供される実装は、ちょうど MimeMessage の実装のように機能します。
Part 内の getDataHandlerMimeMessage.getDataHandler()
public java.lang.Object getContent()
throws java.io.IOException,
MessagingException
この実装は DataHandler からコンテンツを取得します。つまり、getDataHandler().getContent(); を呼び出します。
Part 内の getContentMessagingException - java.io.IOException - これは通常 DataHandler によりスローされる。詳細については javax.activation.DataHandler のマニュアルを参照
public void setDataHandler(DataHandler dh)
throws MessagingException
Part 内の setDataHandlerdh - コンテンツの DataHandlerIllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得される場合
public void setContent(java.lang.Object o,
java.lang.String type)
throws MessagingException
コンテンツは DataHandler オブジェクト内にラップされます。これが正しく機能するために、指定されたタイプの DataContentHandler クラスが JavaMail 実装に対して使用可能でなければならないことに注意してください。つまり、setContent(foobar, "application/x-foobar") を実行するために、「application/x-foobar」の DataContentHandler がインストールされている必要があります。詳細については Java Activation Framework を参照してください。
Part 内の setContento - コンテンツオブジェクトtype - オブジェクトの MIME タイプIllegalWriteException - 実装が既存値の変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合
public void setText(java.lang.String text)
throws MessagingException
このメソッドは使用する文字セットを決めるためにすべての文字を走査しなければならない場合があるので、text が大きい場合は、性能が低下する可能性があることに注意してください。
文字セットが既知の場合、文字セットパラメータを受け取る setText() バージョンを使用してください。
MimePart 内の setTextsetText(String text, String charset)
public void setText(java.lang.String text,
java.lang.String charset)
throws MessagingException
MimePart 内の setText
public void setContent(Multipart mp)
throws MessagingException
Part 内の setContentmp - Message のコンテンツである multipart オブジェクトIllegalWriteException - 実装が既存値の変更をサポートしない場合java.lang.IllegalStateException - この本文部分が READ_ONLY フォルダから取得された場合
public void writeTo(java.io.OutputStream os)
throws java.io.IOException,
MessagingException
Part 内の writeToMessagingException - java.io.IOException - ストリームへの書き込み中にエラーが発生する場合、または javax.activation レイヤによりエラーが生成される場合DataHandler.writeTo(java.io.OutputStream)
public java.lang.String[] getHeader(java.lang.String name)
throws MessagingException
Part 内の getHeadername - ヘッダの名前MimeUtility
public java.lang.String getHeader(java.lang.String name,
java.lang.String delimiter)
throws MessagingException
null の場合は、最初のヘッダだけが返されます。MimePart 内の getHeadername - このヘッダの名前MessagingException -
public void setHeader(java.lang.String name,
java.lang.String value)
throws MessagingException
Part 内の setHeadername - ヘッダ名value - ヘッダ値MimeUtility
public void addHeader(java.lang.String name,
java.lang.String value)
throws MessagingException
Part 内の addHeadername - ヘッダ名value - ヘッダ値MimeUtility
public void removeHeader(java.lang.String name)
throws MessagingException
Part 内の removeHeaderjavax.mail.Part からコピーされたタグ:header_name - このヘッダの名前MessagingException - IllegalWriteException - 実装が既存値の変更をサポートしない場合java.lang.IllegalStateException - この Part が READ_ONLY フォルダから取得された場合
public java.util.Enumeration getAllHeaders()
throws MessagingException
Part 内の getAllHeadersjavax.mail.Part からコピーされたタグ:MessagingException -
public java.util.Enumeration getMatchingHeaders(java.lang.String[] names)
throws MessagingException
Part 内の getMatchingHeadersjavax.mail.Part からコピーされたタグ:MessagingException -
public java.util.Enumeration getNonMatchingHeaders(java.lang.String[] names)
throws MessagingException
Part 内の getNonMatchingHeadersjavax.mail.Part からコピーされたタグ:MessagingException -
public void addHeaderLine(java.lang.String line)
throws MessagingException
MimePart 内の addHeaderLinejavax.mail.internet.MimePart からコピーされたタグ:IllegalWriteException - 実装が変更をサポートしない場合java.lang.IllegalStateException - この Part が READ_ONLY フォルダから取得された場合
public java.util.Enumeration getAllHeaderLines()
throws MessagingException
MimePart 内の getAllHeaderLines
public java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)
throws MessagingException
MimePart 内の getMatchingHeaderLines
public java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)
throws MessagingException
MimePart 内の getNonMatchingHeaderLines
protected void updateHeaders()
throws MessagingException
Content-Type と Content-Transfer-Encoding です。ヘッダの更新は次の 2 つの場合に必要になります。
Message.saveChanges メソッドにより呼び出されます。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||