- java.lang.Object
-
- com.sun.net.httpserver.Headers
-
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
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 Headers()
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 voidadd(String key, String value)指定されたキーのヘッダーのリストに、指定された値を追加します。voidclear()マップからマッピングをすべて削除します(オプションの操作)。booleancontainsKey(Object key)指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。booleancontainsValue(Object value)このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。Set<Map.Entry<String,List<String>>>entrySet()このマップに含まれるマッピングのSetビューを返します。booleanequals(Object o)このオブジェクトとほかのオブジェクトが等しいかどうかを示します。List<String>get(Object key)指定されたキーがマップされている値を返します。そのキーのマッピングがこのマップに含まれていない場合はnullを返します。StringgetFirst(String key)指定されたキーについて、文字列値のリストの最初の値を返します(少なくとも1つ存在する場合)。inthashCode()オブジェクトのハッシュ・コード値を返します。booleanisEmpty()このマップがキーと値のマッピングを保持しない場合にtrueを返します。Set<String>keySet()このマップに含まれるキーのSetビューを返します。List<String>put(String key, List<String> value)指定された値と指定されたキーをこのマップで関連付けます(オプションの操作)。voidputAll(Map<? extends String,? extends List<String>> t)指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。List<String>remove(Object key)このマップからキーのマッピング(ある場合)を削除します(オプションの操作)。voidset(String key, String value)指定された値を指定されたキーの唯一のヘッダー値として設定します。intsize()このマップ内のキー値マッピングの数を返します。Collection<List<String>>values()このマップに含まれる値のCollectionビューを返します。-
インタフェース java.util.Mapから継承されたメソッド
compute, computeIfAbsent, computeIfPresent, entry, forEach, getOrDefault, merge, of, of, of, of, of, of, of, of, of, of, of, ofEntries, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
メソッドの詳細
-
size
public int size()
インタフェースからコピーされた説明:Mapこのマップ内のキー値マッピングの数を返します。 マップ内にInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。
-
isEmpty
public boolean isEmpty()
インタフェースからコピーされた説明:Mapこのマップがキーと値のマッピングを保持しない場合に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つのケースを見分けることができます。
-
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のマッピングを含むと言えます。
-
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にマップしていた可能性もあります。呼出しが戻ると、マップは指定されたキーのマッピングを含まなくなります。
-
putAll
public void putAll(Map<? extends String,? extends List<String>> t)
インタフェースからコピーされた説明:Map指定されたマップのすべてのマッピングをこのマップにコピーします(オプションの操作)。 この呼出しの効果は、指定されたマップ内のキーkから値vへのマッピングごとに、このマップに対してput(k, v)を1回呼び出した場合と同じです。 オペレーションの進行中に、指定されたマップが変更された場合の、このオペレーションの動作は定義されていません。
-
clear
public void clear()
インタフェースからコピーされた説明:Mapマップからマッピングをすべて削除します(オプションの操作)。 この呼出しが戻ると、マップは空になります。
-
keySet
public Set<String> keySet()
インタフェースからコピーされた説明:Mapこのマップに含まれるキーのSetビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されていません(イテレータ自身のremoveオペレーションを除く)。 セットは要素の削除をサポートします。Iterator.remove、Set.remove、removeAll、retainAll、およびclearオペレーションで対応するマッピングをマップから削除します。addまたはaddAll操作はサポートされていません。
-
values
public Collection<List<String>> values()
インタフェースからコピーされた説明:Mapこのマップに含まれる値のCollectionビューを返します。 コレクションはマップと連動しているので、マップに対する変更はコレクションに反映され、またコレクションに対する変更はマップに反映されます。 コレクションの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーションを除く)。 コレクションは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.remove、Collection.remove、removeAll、retainAll、およびclearオペレーションを通して行います。addまたはaddAll操作はサポートされていません。
-
entrySet
public Set<Map.Entry<String,List<String>>> entrySet()
インタフェースからコピーされた説明:Mapこのマップに含まれるマッピングのSetビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーション、またはイテレータにより返されるマップ・エントリに対するsetValueオペレーションを除く)。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.remove、Set.remove、removeAll、retainAll、およびclearオペレーションを通して行います。addまたはaddAll操作はサポートされていません。
-
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以外の参照値
x、y、および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以外の参照値xとyについて、このメソッドはxとyが同じオブジェクトを参照する(x == yがtrue)場合にだけtrueを返します。通常、このメソッドをオーバーライドする場合は、
hashCodeメソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュ・コードを保持する必要がある」というhashCodeメソッドの汎用規約に従う必要があることに留意してください。 - 反射性(reflexive): null以外の参照値
-
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)
- Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対する
-
-