モジュール jdk.httpserver
パッケージ 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値が許容されます。 ただし、HTTP要求ヘッダーにnullキーが存在することはなく、応答ヘッダーで出力または送信されることもありません。 null値は、キーのnullエントリ(リストがnull)、またはキーにリストがあるがリストの1つ以上の値がnullである場合を表す可能性があります。 null値は、キーを含むが値が関連付けられていないヘッダー行として出力されます。

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

      • インタフェース java.util.Mapから継承されたネストされたクラス/インタフェース

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

      コンストラクタ 
      コンストラクタ 説明
      Headers​()  
    • メソッドのサマリー

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

      • Headers

        public Headers​()
    • メソッドの詳細

      • size

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

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

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

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

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

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

        public List<String> put​(String key,
                                List<String> value)
        インタフェースからコピーされた説明: Map
        指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。 マップにすでにこのキーに対するマッピングがある場合、古い値は指定された値に置き換えられます。 m.containsKey(k)trueを返す場合に限り、マップmはキーkのマッピングを含むと言えます。
        定義:
        put 、インタフェース: Map<String,List<String>>
        パラメータ:
        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にマップしていた可能性もあります。

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

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

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

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

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

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

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

        Objectクラスのequalsメソッドは、もっとも比較しやすいオブジェクトの同値関係を実装します。つまり、null以外の参照値xyについて、このメソッドはxyが同じオブジェクトを参照する(x == ytrue)場合にだけtrueを返します。

        通常、このメソッドをオーバーライドする場合は、hashCodeメソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュ・コードを保持する必要がある」というhashCodeメソッドの汎用規約に従う必要があることに留意してください。

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

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

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

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

        クラスObjectによって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。 (hashCodeは、ある時点におけるオブジェクト・メモリー・アドレスの関数として実装されても実装されなくてもよい。)

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