モジュール jdk.httpserver
パッケージ com.sun.net.httpserver

クラスHeaders

java.lang.Object
com.sun.net.httpserver.Headers
すべての実装されたインタフェース:
Map<String,List<String>>

public class Headers extends Object implements Map<String,List<String>>
HTTP要求および応答ヘッダーは、インタフェースMap<String, List <String>>を実装するこのクラスによって表されます。 キーはヘッダー名を表す文字列であり、大文字と小文字は区別されません。各キーに関連付けられた値は、要求または応答内に出現する各ヘッダー名に対して1つの要素を持つList<String>です。

たとえば、応答ヘッダーのインスタンスに「value1」と「value2」という2つの値を持つ1つのキー「HeaderName」が含まれている場合、このオブジェクトは2つのヘッダー行として出力されます。

 HeaderName: value1
 HeaderName: value2
 
通常のMapメソッドがすべて提供されますが、次の追加の簡易メソッドがよく使用される可能性があります。
  • getFirst(String)。単一値ヘッダーまたは複数値ヘッダーの最初の値を返します。
  • add(String,String)。指定されたキーのリストに、指定されたヘッダー値を追加します。
  • set(String,String)。指定されたヘッダー・フィールドに単一値を設定して、値リストの既存の値をすべて上書きします。

このクラスのどのメソッドでも、キーおよび値でnull値が許容されます。 ただし、nullキーはHTTPリクエスト・ヘッダーには存在せず、レスポンス・ヘッダーでは出力/送信されません。 NULL値は、キー(つまり、リストはnullです)のnullエントリとして、またはキーにリストがあるがリスト値の(以上)のいずれかがnullである場合に表すことができます。 null値は、キーを含むが値が関連付けられていないヘッダー行として出力されます。

導入されたバージョン:
1.6
  • ネストされたクラスのサマリー

    インタフェース java.util.Mapで宣言されたネストされたクラス/インタフェース

    Map.Entry<K,V>
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    Headersの空のインスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    add(String key, String value)
    指定された値を、指定されたキーのヘッダー・リストに追加します。
    void
    マップからマッピングをすべて削除します(オプションの操作)。
    boolean
    指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
    boolean
    このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
    このマップに含まれるマッピングのSetビューを返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    get(Object key)
    指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。
    指定されたキー(少なくとも1つ存在する場合)のString値のListから最初の値を返します。
    int
    オブジェクトのハッシュ・コード値を返します。
    boolean
    このマップがキーと値のマッピングを保持しない場合にtrueを返します。
    このマップに含まれるキーのSetビューを返します。
    put(String key, List<String> value)
    指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。
    void
    putAll(Map<? extends String,? extends List<String>> t)
    指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。
    このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。
    void
    set(String key, String value)
    指定された値を、指定されたキーの唯一のヘッダー値として設定します。
    int
    このマップ内のキー値マッピングの数を返します。
    このマップに含まれる値のCollectionビューを返します。

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    インタフェース java.util.Mapで宣言されたメソッド

    compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
  • コンストラクタの詳細

    • Headers

      public Headers()
      Headersの空のインスタンスを作成します。
  • メソッドの詳細

    • size

      public int size()
      インタフェースからコピーされた説明: Map
      このマップ内のキー値マッピングの数を返します。 マップ内にInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。
      定義:
      インタフェースMap<String,List<String>>内のsize
      戻り値:
      このマップ内のキーと値のマッピングの数
    • isEmpty

      public boolean isEmpty()
      インタフェースからコピーされた説明: Map
      このマップがキーと値のマッピングを保持しない場合にtrueを返します。
      定義:
      インタフェースMap<String,List<String>>内のisEmpty
      戻り値:
      このマップがキーと値のマッピングを保持しない場合はtrue
    • containsKey

      public boolean containsKey(Object key)
      インタフェースからコピーされた説明: Map
      指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。 より正式には、このマップがObjects.equals(key, k)のようなキーkのマッピングを含む場合に限り、trueを返します。 (このようなマッピングは1つのみ存在できます。)
      定義:
      インタフェースMap<String,List<String>>内のcontainsKey
      パラメータ:
      key - このマップ内にあるかどうかが判定されるキー
      戻り値:
      指定されたキーのマッピングがこのマップに含まれている場合はtrue
    • containsValue

      public boolean containsValue(Object value)
      インタフェースからコピーされた説明: Map
      このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。 より正式には、このマップがObjects.equals(value, v)のような値vへの少なくとも1つのマッピングを含む場合に限り、trueを返します。 Mapインタフェースのほとんどの実装で、このオペレーションにかかる時間はマップのサイズに正比例します。
      定義:
      インタフェースMap<String,List<String>>内のcontainsValue
      パラメータ:
      value - このマップにあるかどうかが判定される値
      戻り値:
      このマップが1つまたは複数のキーを指定された値にマッピングしている場合はtrue
    • get

      public List<String> get(Object key)
      インタフェースからコピーされた説明: Map
      指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。

      より正式には、このマップにキーkからObjects.equals(key, k)のような値vへのマッピングが含まれている場合、このメソッドはvを返します; それ以外の場合は、nullを返します。 (このようなマッピングは1つのみ存在できます。)

      このマップがnull値を許可する場合、戻り値のnullは、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーをnullにマップすることもあります。 containsKey操作を使うと、これら2つのケースを見分けることができます。

      定義:
      インタフェースMap<String,List<String>>内のget
      パラメータ:
      key - 関連付けられた値が返されるキー
      戻り値:
      指定されたキーがマップされている値。そのキーのマッピングがこのマップに含まれていない場合はnull
    • getFirst

      public String getFirst(String key)
      指定されたキー(少なくとも1つ存在する場合)のString値のListから最初の値を返します。
      パラメータ:
      key - 検索するキー
      戻り値:
      キーに関連付けられた最初のString
    • put

      public List<String> put(String key, List<String> value)
      インタフェースからコピーされた説明: Map
      指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。 マップにすでにこのキーに対するマッピングがある場合、古い値は指定された値に置き換えられます。 m.containsKey(k)trueを返す場合に限り、マップmはキーkのマッピングを含むと言えます。
      定義:
      インタフェースMap<String,List<String>>内のput
      パラメータ:
      key - 指定された値が関連付けられるキー
      value - 指定されたキーに関連付けられる値
      戻り値:
      keyに以前に関連付けられていた値。keyのマッピングが存在しなかった場合はnull (実装がnull値をサポートしている場合、戻り値nullは、以前にマップがnullkeyを関連付けていたことを示す場合もある。)
    • add

      public void add(String key, String value)
      指定された値を、指定されたキーのヘッダー・リストに追加します。 マッピングがまだ存在しない場合は、作成されます。
      パラメータ:
      key - ヘッダー名
      value - ヘッダーに追加する値
    • set

      public void set(String key, String value)
      指定された値を、指定されたキーの唯一のヘッダー値として設定します。 マッピングがまだ存在しない場合は、作成されます。
      パラメータ:
      key - ヘッダー名
      value - 設定するヘッダー値
    • remove

      public List<String> remove(Object key)
      インタフェースからコピーされた説明: Map
      このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。 より正式には、このマップに、kからObjects.equals(key, k)のような値vへのマッピングが含まれている場合、そのマッピングは削除されます。 マップはこのようなマッピングを1つだけ含めることができます。

      このマップが以前にこのキーを関連付けていた値を返します。キーに対するマッピングがマップになかった場合はnullを返します。

      このマップがnull値を許可する場合、戻り値のnullは、マップがキーのマッピングを保持していなかったことを示すとはかぎりません。つまり、マップが明示的にキーをnullにマップしていた可能性もあります。

      呼出しが戻ると、マップは指定されたキーのマッピングを含まなくなります。

      定義:
      インタフェースMap<String,List<String>>内のremove
      パラメータ:
      key - マッピングがマップから削除されるキー
      戻り値:
      keyに以前に関連付けられていた値。keyのマッピングが存在しなかった場合はnull
    • putAll

      public void putAll(Map<? extends String,? extends List<String>> t)
      インタフェースからコピーされた説明: Map
      指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。 この呼出しの効果は、指定されたマップ内のキーkから値vへのマッピングごとに、このマップに対してput(k, v)を1回呼び出した場合と同じです。 オペレーションの進行中に、指定されたマップが変更された場合の、このオペレーションの動作は定義されていません。
      定義:
      インタフェースMap<String,List<String>>内のputAll
      パラメータ:
      t - このマップに格納されるマッピング
    • clear

      public void clear()
      インタフェースからコピーされた説明: Map
      マップからマッピングをすべて削除します(オプションの操作)。 この呼出しが戻ると、マップは空になります。
      定義:
      インタフェースMap<String,List<String>>内のclear
    • keySet

      public Set<String> keySet()
      インタフェースからコピーされた説明: Map
      このマップに含まれるキーのSetビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。 セットは要素の削除をサポートします。Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションで対応するマッピングをマップから削除します。 addまたはaddAll操作はサポートされていません。
      定義:
      インタフェースMap<String,List<String>>内のkeySet
      戻り値:
      マップに含まれているキーのセット・ビュー
    • values

      public Collection<List<String>> values()
      インタフェースからコピーされた説明: Map
      このマップに含まれる値のCollectionビューを返します。 コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーションを除く)。 コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeCollection.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。
      定義:
      インタフェースMap<String,List<String>>内のvalues
      戻り値:
      マップ内に含まれている値のコレクション・ビュー
    • entrySet

      public Set<Map.Entry<String,List<String>>> entrySet()
      インタフェースからコピーされた説明: Map
      このマップに含まれるマッピングのSetビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーション、またはイテレータにより返されるマップ・エントリに対するsetValueオペレーションを除く)。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。
      定義:
      インタフェースMap<String,List<String>>内のentrySet
      戻り値:
      マップ内に保持されているマッピングのセット・ビュー
    • equals

      public boolean equals(Object o)
      次のクラスからコピーされた説明: Object
      このオブジェクトと他のオブジェクトが等しいかどうかを示します。

      equalsメソッドは、null以外のオブジェクト参照での同値関係を実装します。

      • 反射性(reflexive): null以外の参照値xについて、x.equals(x)trueを返します。
      • 対称性(symmetric): null以外の参照値xおよびyについて、y.equals(x)trueを返す場合に限り、x.equals(y)trueを返します。
      • 推移性(transitive): null以外の参照値xy、およびzについて、x.equals(y)trueを返し、y.equals(z)trueを返す場合、x.equals(z)trueを返します。
      • 一貫性(consistent): null以外の参照値xおよびyについて、x.equals(y)の複数の呼出しは、このオブジェクトに対するequalsによる比較で使われた情報が変更されていなければ、一貫してtrueを返すか、一貫してfalseを返します。
      • null以外の参照値xについて、x.equals(null)falseを返します。

      等価関係は、操作対象の要素を「同等クラス」にパーティション化し、等価クラスのすべてのメンバーは互いに等しくなります。 等価クラスのメンバーは、少なくともなんらかの目的で互いに置換可能です。

      定義:
      インタフェースMap<String,List<String>>内のequals
      オーバーライド:
      equals、クラスObject
      パラメータ:
      o - 比較対象の参照オブジェクト。
      戻り値:
      このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
      関連項目:
    • hashCode

      public int hashCode()
      次のクラスからコピーされた説明: Object
      オブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。

      hashCodeの一般的な規則は次のとおりです。

      • Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対するequalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
      • 2つのオブジェクトがequalsメソッドに従って等しい場合、2つのオブジェクトのそれぞれで hashCodeメソッドを呼び出すと、同じ整数結果が生成される必要があります。
      • 2つのオブジェクトがequalsメソッドに従って等しくない場合、2つのオブジェクトのそれぞれでhashCodeメソッドを呼び出すと、個別の整数結果が生成される必要はありません。 ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。

      定義:
      インタフェースMap<String,List<String>>内のhashCode
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このオブジェクトのハッシュ・コード値。
      関連項目: