概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## javax.mail.internet
クラス InternetHeaders

    java.lang.Object
      javax.mail.internet.InternetHeaders

    public final class InternetHeaders

extends Object

InternetHeaders は RFC822 形式のヘッダを管理するユーティリティクラスです。 RFC822 形式のメッセージストリームにおいてヘッダの終わりを示す空白行まで行を読み取ります。 入力ストリームは本文の最初に位置付けられます。 読み込まれた行はオブジェクトの内部に格納され、 String 又は Header オブジェクトとして取り出す事ができます。

このクラスは主としてサービスプロバイダ向けです。 MimeMessage 及び MimeBody はヘッダを保持する為にこのクラスを使用します。

RFC822 及び MIME ヘッダに関するメモ

RFC822 及び MIME ヘッダフィールドは US-ASCII 文字だけを含まなければなりません。 ヘッダが US-ASCII 以外の文字を含む場合、RFC 2047 の規則に従ってエンコードされなければなりません。 このパッケージで提供される MimeUtility クラスを用いて、これを行う事ができます。 `setHeader`、`addHeader`、及び `addHeaderLine` メソッドの 呼び出し側は指定されたヘッダが MIME 要件に従っている事を保証しなければなりません。 又、これらのヘッダフィールドが転送における行の長さ制限 (SMTP の場合は 1000バイト) を超える 場合は送信の前に折りたたむ (ラップする) 必要があります。 受信ヘッダは折りたたまれている可能性があります。 アプリケーションはヘッダを適切に折りたたみ、展開する責任があります。

関連項目:
  `MimeUtility`

フィールドの概要
`protected List` | `headers` The actual list of Headers, including placeholder entries.

コンストラクタの概要
`InternetHeaders()` 空の InternetHeaders オブジェクトを作成します。
`InternetHeaders(InputStream is)` 指定された RFC822 メッセージストリームを、ヘッダと本文を分ける空白行まで読み取り構文解析します。

メソッドの概要
`void` | `addHeader(String name, String value)` 指定された名前と値を持つヘッダをヘッダリストに追加します。
`void` | `addHeaderLine(String line)` RFC822 ヘッダ行をヘッダストアに追加します。
`Enumeration` | `getAllHeaderLines()` 全てのヘッダ行を String の列挙型として返します。
`Enumeration` | `getAllHeaders()` 全てのヘッダを `Header` オブジェクトの Enumeration として返します。
`String[]` | `getHeader(String name)` 指定されたヘッダの全ての値を返します。
`String` | `getHeader(String name, String delimiter)` このヘッダ名の全てのヘッダを取得し、区切り文字で区切られたヘッダが単一の String として返されます。
`Enumeration` | `getMatchingHeaderLines(String[] names)` 一致する全てのヘッダ行を String の列挙型として返します。
`Enumeration` | `getMatchingHeaders(String[] names)` 一致する全ての `Header` オブジェクトを返します。
`Enumeration` | `getNonMatchingHeaderLines(String[] names)` 一致しない全てのヘッダ行を String の列挙型として返します。
`Enumeration` | `getNonMatchingHeaders(String[] names)` 一致しない全ての `Header` オブジェクトを返します。
`void` | `load(InputStream is)` 指定された RFC822 メッセージストリームを、ヘッダと本文を分ける空白行まで読み取り構文解析します。
`void` | `removeHeader(String name)` 指定された名前に一致する全てのヘッダエントリを削除します。
`void` | `setHeader(String name, String value)` 名前に一致する最初のヘッダ行の値を変更します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

フィールドの詳細

### headers

    protected List headers

  The actual list of Headers, including placeholder entries. Placeholder entries are Headers with a null value and are never seen by clients of the InternetHeaders class. Placeholder entries are used to keep track of the preferred order of headers. Headers are never actually removed from the list, they're converted into placeholder entries. New headers are added after existing headers of the same name (or before in the case of Received and Return-Path headers). If no existing header or placeholder for the header is found, new headers are added after the special placeholder with the name ":".

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

コンストラクタの詳細

### InternetHeaders

    public InternetHeaders()

  空の InternetHeaders オブジェクトを作成します。

### InternetHeaders

    public InternetHeaders(InputStream is)
                    throws MessagingException

  指定された RFC822 メッセージストリームを、ヘッダと本文を分ける空白行まで読み取り構文解析します。 入力ストリームは本文の最初に位置付けられます。ヘッダ行は内部に格納されます。

  効率化の為、BufferedInputStream を実際の入力ストリームの周りにラップし、パラメータとして渡して下さい。

  パラメータ:
    `is` - RFC822 入力ストリーム
  例外:
    `MessagingException`

メソッドの詳細

### load

    public void load(InputStream is)
              throws MessagingException

  指定された RFC822 メッセージストリームを、ヘッダと本文を分ける空白行まで読み取り構文解析します。 ヘッダ行を InternetHeaders オブジェクトの内部に格納します。 ヘッダ行のオーダを保存します。

  ヘッダ行はこの InternetHeaders オブジェクトに追加される為、 このオブジェクト内にある既存のヘッダは影響を受けません。

  パラメータ:
    `is` - RFC822 入力ストリーム
  例外:
    `MessagingException`

### getHeader

    public String[] getHeader(String name)

  指定されたヘッダの全ての値を返します。値は String オブジェクトです。 Returns `null` if no headers with the specified name exist.

  パラメータ:
    `name` - ヘッダ名
  戻り値:
    array of header values, or null if none

### getHeader

    public String getHeader(String name,
                            String delimiter)

  このヘッダ名の全てのヘッダを取得し、区切り文字で区切られたヘッダが単一の String として返されます。 区切り文字が `null` の場合は最初のヘッダだけが返されます。 Returns `null` if no headers with the specified name exist.

  パラメータ:
    `name` - ヘッダ名
    `delimiter` - 区切り文字
  戻り値:
    この名前を持つ全てのヘッダに対する値フィールド

### setHeader

    public void setHeader(String name,
                          String value)

  名前に一致する最初のヘッダ行の値を変更します。 一致する既存のヘッダがない場合は新しいヘッダを追加します。 最初のヘッダ以外の全ての一致するヘッダを削除します。

  RFC822 ヘッダは US-ASCII 文字だけを含む事が可能である点に注意して下さい。

  パラメータ:
    `name` - ヘッダ名
    `value` - ヘッダ値

### addHeader

    public void addHeader(String name,
                          String value)

  指定された名前と値を持つヘッダをヘッダリストに追加します。

  The current implementation knows about the preferred order of most well-known headers and will insert headers in that order. In addition, it knows that `Received` headers should be inserted in reverse order (newest before oldest), and that they should appear at the beginning of the headers, preceeded only by a possible `Return-Path` header.

  RFC822 ヘッダは US-ASCII 文字だけを含む事が可能である点に注意して下さい。

  パラメータ:
    `name` - ヘッダ名
    `value` - ヘッダ値

### removeHeader

    public void removeHeader(String name)

  指定された名前に一致する全てのヘッダエントリを削除します。

  パラメータ:
    `name` - ヘッダ名

### getAllHeaders

    public Enumeration getAllHeaders()

  全てのヘッダを `Header` オブジェクトの Enumeration として返します。

  戻り値:
    Header オブジェクト

### getMatchingHeaders

    public Enumeration getMatchingHeaders(String[] names)

  一致する全ての `Header` オブジェクトを返します。

  戻り値:
    一致する Header オブジェクト

### getNonMatchingHeaders

    public Enumeration getNonMatchingHeaders(String[] names)

  一致しない全ての `Header` オブジェクトを返します。

  戻り値:
    一致しない Header オブジェクト

### addHeaderLine

    public void addHeaderLine(String line)

  RFC822 ヘッダ行をヘッダストアに追加します。 行の先頭がスペース又はタブの場合 (継続行) は、リスト中の最後のヘッダ行に追加します。 Otherwise, append the new header line to the list.

  RFC822 ヘッダは US-ASCII 文字だけを含む事が可能である点に注意して下さい。

  パラメータ:
    `line` - 生の RFC822 ヘッダ行

### getAllHeaderLines

    public Enumeration getAllHeaderLines()

  全てのヘッダ行を String の列挙型として返します。

### getMatchingHeaderLines

    public Enumeration getMatchingHeaderLines(String[] names)

  一致する全てのヘッダ行を String の列挙型として返します。

### getNonMatchingHeaderLines

    public Enumeration getNonMatchingHeaderLines(String[] names)

  一致しない全てのヘッダ行を String の列挙型として返します。

概要 | パッケージ | クラス | 使用 | 階層ツリー | 非推奨 API | 索引 | ヘルプ
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド