Spec-Zone.ru › OpenJDK 21

Заголовки класса

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>>. Ключами являются регистронезависимые строки, представляющие имена заголовков, а значение, связанное с каждым ключом, — List<String> с одним элементом для каждого появления имени заголовка в запросе или ответе.

Например, если экземпляр заголовка ответа содержит один ключ "HeaderName" со значениями "value1" и "value2", то этот объект отображается в виде двух строк заголовка:

 HeaderName: value1
 HeaderName: value2
 
Все обычные методы Map предоставлены, но следующие дополнительные удобные методы, скорее всего, будут использоваться:
  • getFirst(String) возвращает заголовок с единственным значением или первое значение многозначного заголовка.
  • add(String,String) добавляет указанное значение заголовка в список для заданного ключа.
  • set(String,String) устанавливает заданное поле заголовка в заданное единственное значение, перезаписывая любые существующие значения в списке значений.

Экземпляр Headers может быть изменяемым или неизменяемым. Изменяемые заголовки позволяют добавлять, удалять или изменять имена и значения заголовков, например, экземпляр, возвращаемый HttpExchange.getResponseHeaders(). Неизменяемые заголовки не допускают никаких изменений в именах или значениях заголовков, например, экземпляр, возвращаемый HttpExchange.getRequestHeaders(). Методы-мутаторы для неизменяемых заголовков безоговорочно выбрасывают UnsupportedOperationException.

Все методы в этом классе отклоняют null значения для ключей и значений. null ключи никогда не будут присутствовать в HTTP-заголовках запросов или ответов.

С тех пор:
1.6

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.Map

Map.Entry<K,V>

Краткое описание конструкторов

Конструктор Описание
Headers()
Создаёт пустой экземпляр Headers.
Headers(Map<String,List<String>> headers)
Создаёт изменяемые Headers из заданных headers с теми же именами и значениями заголовков.

Краткое описание методов

Модификатор и тип Метод Описание
void add(String key, String value)
Добавляет заданный value в список заголовков для заданного key.
void clear()
Удаляет все сопоставления из этой карты (необязательная операция).
boolean containsKey(Object key)
Возвращает true , если эта карта содержит сопоставление для указанного ключа.
boolean containsValue(Object value)
Возвращает true , если эта карта сопоставляет один или несколько ключей со значением.
Set<Map.Entry<String,List<String>>> entrySet()
Возвращает представление Set сопоставлений, содержащихся в этой карте.
boolean equals(Object o)
Указывает, является ли другой объект "равным" этому.
List<String> get(Object key)
Возвращает значение, которому сопоставлен указанный ключ, или null , если эта карта не содержит сопоставления для ключа.
String getFirst(String key)
Возвращает первое значение из List значений String для заданного key, или null , если нет сопоставления для key.
int hashCode()
Возвращает хеш-код объекта.
boolean isEmpty()
Возвращает true , если эта карта не содержит сопоставлений ключ-значение.
Set<String> keySet()
Возвращает представление Set ключей, содержащихся в этой карте.
static Headers of(String... headers)
Возвращает неизменяемые Headers с заданными парами имя-значение в качестве набора заголовков.
static Headers of(Map<String,List<String>> headers)
Возвращает неизменяемые Headers из заданных headers с теми же именами и значениями заголовков.
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)
Устанавливает заданный value как единственное значение заголовка для заданного key.
int size()
Возвращает количество сопоставлений ключ-значение в этой карте.
Collection<List<String>> values()
Возвращает представление 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.

Headers

public Headers(Map<String,List<String>> headers)
Создаёт изменяемый Headers из заданного headers с теми же именами и значениями заголовков.
Параметры:
headers - карта имён и значений заголовков
Исключения:
NullPointerException - если headers или любое из его имён или значений равно null, или если какое-либо значение содержит null.
С:
18

Подробное описание методов

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 если эта карта содержит сопоставление для указанного ключа. Более формально, возвращает true тогда и только тогда, когда эта карта содержит сопоставление для ключа k такого, что Objects.equals(key, k). (Может быть не более одного такого сопоставления.)
Определено в:
containsKey в интерфейсе Map<String,List<String>>
Параметры:
key - ключ, присутствие которого в этой карте необходимо проверить
Возвращает:
true если эта карта содержит сопоставление для указанного ключа

containsValue

public boolean containsValue(Object value)
Описание, скопированное из интерфейса: Map
Возвращает true если эта карта сопоставляет один или несколько ключей с указанным значением. Более формально, возвращает true тогда и только тогда, когда эта карта содержит как минимум одно сопоставление со значением v такое, что Objects.equals(value, v). Эта операция, скорее всего, потребует времени, линейно зависящего от размера карты, для большинства реализаций интерфейса Map.
Определено в:
containsValue в интерфейсе Map<String,List<String>>
Параметры:
value - значение, присутствие которого в этой карте необходимо проверить
Возвращает:
true если эта карта сопоставляет один или несколько ключей с указанным значением

get

public List<String> get(Object key)
Описание, скопированное из интерфейса: Map
Возвращает значение, которому соответствует указанный ключ, или null если в этой карте нет сопоставления для ключа.

Более формально, если эта карта содержит сопоставление от ключа k к значению v такое, что Objects.equals(key, k), то этот метод возвращает v; в противном случае он возвращает null. (Может быть не более одного такого сопоставления.)

Если эта карта допускает нулевые значения, то возвращаемое значение null не обязательно указывает, что в карте нет сопоставления для ключа; также возможно, что карта явно сопоставляет ключ со значением null. Операция containsKey может использоваться для различения этих двух случаев.

Определено в:
get в интерфейсе Map<String,List<String>>
Параметры:
key - ключ, связанное значение которого требуется вернуть
Возвращает:
значение, которому соответствует указанный ключ, или null если в этой карте нет сопоставления для ключа

getFirst

public String getFirst(String key)
Возвращает первое значение из List String значений для данного key, или null если сопоставление для key не существует.
Параметры:
key - ключ для поиска
Возвращает:
первое String значение, связанное с ключом, или null если сопоставления для ключа не существует

put

public List<String> put(String key, List<String> value)
Описание, скопированное из интерфейса: Map
Сопоставляет указанное значение с указанным ключом в этой карте (дополнительная операция). Если карта ранее содержала сопоставление для ключа, старое значение заменяется указанным значением. (Карта m считается содержащей сопоставление для ключа k тогда и только тогда, когда m.containsKey(k) вернёт true.)
Определено в:
put в интерфейсе Map<String,List<String>>
Параметры:
key - ключ, с которым должно быть связано указанное значение
value - значение, которое должно быть связано с указанным ключом
Возвращает:
предыдущее значение, связанное с key, или null если для key не было сопоставления. (Возврат null может также указывать, что карта ранее связывала null со значением key, если реализация поддерживает нулевые значения.)

add

public void add(String key, String value)
Добавляет заданный value в список заголовков для заданного key. Если сопоставление ещё не существует, оно создаётся.
Параметры:
key - имя заголовка
value - значение для добавления в заголовок

set

public void set(String key, String value)
Устанавливает заданное value в качестве единственного значения заголовка для заданного key. Если сопоставление ещё не существует, оно создаётся.
Параметры:
key - имя заголовка
value - значение заголовка для установки

remove

public List<String> remove(Object key)
Описание, скопированное из интерфейса: Map
Удаляет сопоставление для ключа из этой карты, если оно присутствует (дополнительная операция). Более формально, если эта карта содержит сопоставление от ключа k к значению v такое, что Objects.equals(key, k), то это сопоставление удаляется. (В карте может быть не более одного такого сопоставления.)

Возвращает значение, которое эта карта ранее сопоставила с ключом, или null если в карте не было сопоставления для ключа.

Если эта карта допускает нулевые значения, то возвращаемое значение null не обязательно указывает, что в карте не было сопоставления для ключа; также возможно, что карта явно сопоставила ключ со значением null.

В карте не будет сопоставления для указанного ключа после возврата вызова.

Определено в:
remove в интерфейсе Map<String,List<String>>
Параметры:
key - ключ, сопоставление которого необходимо удалить из карты
Возвращает:
предыдущее значение, связанное с key, или null если для key не было сопоставления.

putAll

public void putAll(Map<? extends String,? extends List<String>> t)
Описание, скопированное из интерфейса: Map
Копирует все сопоставления из указанной карты в эту карту (дополнительная операция). Эффект этого вызова эквивалентен вызову put(k, v) для этой карты один раз для каждого сопоставления от ключа k к значению v в указанной карте. Поведение этой операции не определено, если указанная карта изменяется во время выполнения операции. Если у указанной карты определён порядок обработки элементов, обработка её сопоставлений, как правило, происходит в этом порядке.
Определено в:
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.remove, Set.remove, removeAll, retainAll, и clear. Оно не поддерживает операции add или addAll.
Определено в:
keySet в интерфейсе Map<String,List<String>>
Возвращает:
вид множества ключей, содержащихся в этом отображении

values

public Collection<List<String>> values()
Описание скопировано из интерфейса: Map
Возвращает вид Collection значений, содержащихся в этом отображении. Коллекция поддерживается отображением, поэтому изменения в отображении отражаются в коллекции и наоборот. Если отображение изменяется во время итерации по коллекции (кроме операции самого итератора remove), результаты итерации не определены. Коллекция поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, через операции Iterator.remove, Collection.remove, removeAll, retainAll и clear. Она не поддерживает операции add или addAll.
Определено в:
values в интерфейсе Map<String,List<String>>
Возвращает:
вид коллекции значений, содержащихся в этом отображении

entrySet

public Set<Map.Entry<String,List<String>>> entrySet()
Описание скопировано из интерфейса: Map
Возвращает вид Set отображений, содержащихся в этом отображении. Множество поддерживается отображением, поэтому изменения в отображении отражаются в множестве и наоборот. Если отображение изменяется во время итерации по множеству (кроме операции самого итератора remove, или операции setValue на элементе отображения, возвращённом итератором), результаты итерации не определены. Множество поддерживает удаление элементов, которое удаляет соответствующее отображение из отображения, через операции Iterator.remove, Set.remove, removeAll, retainAll и clear. Оно не поддерживает операции add или addAll.
Определено в:
entrySet в интерфейсе Map<String,List<String>>
Возвращает:
вид множества отображений, содержащихся в этом отображении

equals

public boolean equals(Object o)
Описание скопировано из класса: Object
Указывает, является ли другой объект "равным" этому.

Метод equals реализует отношение эквивалентности на не-null ссылках на объекты:

  • Он рефлексивен: для любой не-null ссылки на значение x, x.equals(x) должен вернуть true.
  • Он симметричен: для любых не-null ссылок на значения x и y, x.equals(y) должен вернуть true тогда и только тогда, когда y.equals(x) возвращает true.
  • Он транзитивен: для любых не-null ссылок на значения x, y, и z, если x.equals(y) возвращает true и y.equals(z) возвращает true, тогда x.equals(z) должен вернуть true.
  • Он постоянен: для любых не-null ссылок на значения x и y, многократные вызовы x.equals(y) последовательно возвращают true или последовательно возвращают false, при условии, что никакие данные, используемые в сравнениях equals на объектах, не модифицируются.
  • Для любой не-null ссылки на значение x, x.equals(null) должен вернуть false.

Отношение эквивалентности разделяет элементы, с которыми оно работает, на классы эквивалентности; все члены класса эквивалентности равны друг другу. Члены класса эквивалентности заменимы друг на друга, по крайней мере, для некоторых целей.

Определено в:
equals в интерфейсе Map<String,List<String>>
Переопределяет:
equals в классе Object
Параметры:
o - объект ссылки, с которым сравнить.
Возвращает:
true если этот объект такой же, как аргумент obj; false в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Описание скопировано из класса: Object
Возвращает значение хэш-кода для объекта. Этот метод поддерживается для удобства хэш-таблиц, таких как предоставляемые HashMap.

Общий контракт hashCode:

  • Всякий раз, когда он вызывается на одном и том же объекте более одного раза во время выполнения Java-приложения, метод hashCode должен последовательно возвращать то же целое число, при условии, что никакие данные, используемые в сравнениях equals на объекте, не изменяются. Это целое число не должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения.
  • Если два объекта равны согласно методу equals, вызов метода hashCode для каждого из двух объектов должен давать тот же результат целого числа.
  • Не требуется, чтобы если два объекта не равны согласно методу equals, вызов метода hashCode для каждого из двух объектов давал разные результаты целых чисел. Однако разработчик должен знать, что получение разных целых чисел для неравных объектов может улучшить производительность хэш-таблиц.
Определено в:
hashCode в интерфейсе Map<String,List<String>>
Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

of

public static Headers of(String... headers)
Возвращает неизменяемое Headers с заданными именами и значениями заголовков в качестве набора заголовков.

Предоставленные String экземпляры должны чередоваться как имена заголовков и значения заголовков. Для добавления нескольких значений к одному имени, одно и то же имя должно быть предоставлено с каждым новым значением. Если предоставленные headers пустые, то возвращается пустое Headers.

Параметры:
headers - список пар имя-значение
Возвращает:
неизменяемое отображение заголовков с заданными парами имя-значение
Исключения:
NullPointerException - если headers или любой из его элементов null.
IllegalArgumentException - если число предоставленных строк нечётное.
С тех пор:
18

of

public static Headers of(Map<String,List<String>> headers)
Возвращает неизменяемое Headers из заданного headers с теми же именами и значениями заголовков.
Параметры:
headers - отображение имён и значений заголовков
Возвращает:
неизменяемое отображение заголовков
Исключения:
NullPointerException - если headers или любое из его имён или значений null, или если какое-либо значение содержит null.
С тех пор:
18

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.httpserver/com/sun/net/httpserver/Headers.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API