モジュール java.net.http
パッケージ java.net.http

クラスHttpHeaders

java.lang.Object
java.net.http.HttpHeaders

public final class HttpHeaders extends Object
HTTPヘッダー・セットの読取り専用ビュー。

通常、HttpHeadersは直接作成されるのではなく、HttpRequestまたはHttpResponseから戻されます。 リクエスト・ビルダーheadersメソッドの1つを介してrequestに特定のHTTPヘッダーを設定できます。

このクラス(Stringヘッダー名を受け入れる)のメソッドおよびmapメソッドによって戻されたMapは、ヘッダー値の取得時にケースに関係なく動作します。

HTTPプロトコルではHTTPヘッダー名が複数回使用される場合があります。 このため、ヘッダーは名前と値リストとして表されます。 ヘッダー値が出現するたびに、その値が解釈されることなく、該当するヘッダー名リストに一杯に追加されます。 特に、HttpHeadersは、カンマ区切りのヘッダー値文字列を分割または結合しても実行しません。 buildingがリクエストである場合、ヘッダー値リストの要素の順序は保持されます。 レスポンスの場合、ヘッダー値リストの要素の順序は、受信された順序です。 ただし、mapメソッドによって返されたMapは、エントリの順序付けに関する保証を提供しません。

HttpHeadersインスタンスは不変です。

導入されたバージョン:
11
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    指定された名前付きヘッダーのすべてのヘッダー文字列値の変更不可リストを返します。
    final boolean
    このHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。
    指定された(おそらく多値)ヘッダーの最初のヘッダー文字列値を含むOptionalを返します。
    指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLongを返します。
    final int
    このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。
    map()
    このHttpHeadersの変更不可能なマルチ・マップ・ビューを返します。
    of(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)
    指定されたマップからHTTPヘッダーを返します。
    このHTTPヘッダーを文字列として返します。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • メソッドの詳細

    • firstValue

      public Optional<String> firstValue(String name)
      指定された(おそらく多値)ヘッダーの最初のヘッダー文字列値を含むOptionalを返します。 ヘッダーが存在しない場合、返されるOptionalは空になります。
      パラメータ:
      name - ヘッダー名
      戻り値:
      最初に名前が付けられたヘッダー文字列値(存在する場合)を含むOptional<String>
    • firstValueAsLong

      public OptionalLong firstValueAsLong(String name)
      指定されたヘッダー・フィールドの最初のヘッダー文字列値を含むOptionalLongを返します。 ヘッダーが存在しない場合、Optionalは空です。 ヘッダーが存在するが、Long値として解析されない値が含まれている場合は、例外がスローされます。
      パラメータ:
      name - ヘッダー名
      戻り値:
      an OptionalLong
      例外:
      NumberFormatException - 値が見つかったが、Longとして解析されない場合
    • allValues

      public List<String> allValues(String name)
      指定された名前付きヘッダーのすべてのヘッダー文字列値の変更不可リストを返します。 常にリストを返します。ヘッダーが存在しない場合は空になります。
      パラメータ:
      name - ヘッダー名
      戻り値:
      ヘッダー文字列値のリスト
    • map

      public Map<String,List<String>> map()
      このHttpHeadersの変更不可能なマルチ・マップ・ビューを返します。
      戻り値:
      マップ
    • equals

      public final boolean equals(Object obj)
      このHTTPヘッダー・インスタンスが指定されたオブジェクトと等しいかどうかをテストします。

      指定されたオブジェクトがHttpHeadersでない場合、このメソッドはfalseを返します。 対応するmapsが等しい場合、2つのHTTPヘッダーが等しくなります。

      このメソッドはObject.equalsメソッドの汎用規約を満たします。

      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - このオブジェクトが比較されるオブジェクト
      戻り値:
      指定されたオブジェクトがこのHTTPヘッダーと等しい HttpHeadersである場合にのみtrue
      関連項目:
    • hashCode

      public final int hashCode()
      このHTTPヘッダー・インスタンスのハッシュ・コードを計算します。

      ハッシュ・コードは、HTTPヘッダーmapのコンポーネントに基づいており、Object.hashCodeメソッドの汎用規約を満たしています。

      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このHTTPヘッダーのハッシュ・コード値
      関連項目:
    • toString

      public String toString()
      このHTTPヘッダーを文字列として返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      HTTPヘッダーを記述する文字列
    • of

      public static HttpHeaders of(Map<String,List<String>> headerMap, BiPredicate<String,String> filter)
      指定されたマップからHTTPヘッダーを返します。 指定したマップ・キーはヘッダー名、およびそのヘッダー名の文字列ヘッダー値のリストを表します。

      HTTPプロトコルではHTTPヘッダー名が複数回使用される場合があります。 そのようなmulti-valuedのヘッダーは、指定されたマップの単一のエントリで表現される必要があり、そのエントリ値は複数のヘッダー文字列の値を表すリストです。 先頭および末尾の空白は、処理前に、指定されたマップおよびそのリストから取得されたすべての文字列値から削除されます。 フィルタ処理後、少なくとも1つの空の文字列を含むヘッダーのみがHTTPヘッダーに追加されます。

      APIのノート:
      このメソッドの主な目的は、フレームワークのテストです。 必要なヘッダーは、HttpRequest headersメソッドのいずれかを介して設定できます。
      パラメータ:
      headerMap - ヘッダーの名前と値を含むマップ
      filter - 指定されたマップ内の各ヘッダー/値ペアを検査して、HTTPヘッダーに追加する必要があるかどうかを判断するために使用できるフィルタ。
      戻り値:
      指定されたヘッダーを含むHTTPヘッダー・インスタンス
      例外:
      NullPointerException - 次のいずれかの場合: headerMap、指定されたマップのキーまたは値、あるいはマップ値リストのエントリ、filternullです。
      IllegalArgumentException - 指定されたheaderMapに(ケースに関する情報なし)と等しい2つのキーが含まれている場合、またはホワイトスペースをトリミングした後に長さが0であるキーが指定されたマップに含まれている場合