Package io.netty.handler.codec.http
Class CombinedHttpHeaders.CombinedHttpHeadersImpl
- java.lang.Object
-
- io.netty.handler.codec.DefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
-
- io.netty.handler.codec.http.CombinedHttpHeaders.CombinedHttpHeadersImpl
-
- All Implemented Interfaces:
Headers<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>,java.lang.Iterable<java.util.Map.Entry<java.lang.CharSequence,java.lang.CharSequence>>
- Enclosing class:
- CombinedHttpHeaders
private static final class CombinedHttpHeaders.CombinedHttpHeadersImpl extends DefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interfaceCombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T>Escapes comma separated values (CSV).-
Nested classes/interfaces inherited from class io.netty.handler.codec.DefaultHeaders
DefaultHeaders.HeaderEntry<K,V>, DefaultHeaders.NameValidator<K>
-
-
Field Summary
Fields Modifier and Type Field Description private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence>charSequenceEscaperprivate CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object>objectEscaperprivate static intVALUE_LENGTH_ESTIMATEAn estimate of the size of a header value.-
Fields inherited from class io.netty.handler.codec.DefaultHeaders
head
-
-
Constructor Summary
Constructors Constructor Description CombinedHttpHeadersImpl(HashingStrategy<java.lang.CharSequence> nameHashingStrategy, ValueConverter<java.lang.CharSequence> valueConverter, DefaultHeaders.NameValidator<java.lang.CharSequence> nameValidator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CombinedHttpHeaders.CombinedHttpHeadersImpladd(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)Adds all header names and values ofheadersto this object.CombinedHttpHeaders.CombinedHttpHeadersImpladd(java.lang.CharSequence name, java.lang.CharSequence value)Adds a new header with the specifiednameandvalue.CombinedHttpHeaders.CombinedHttpHeadersImpladd(java.lang.CharSequence name, java.lang.CharSequence... values)Adds new headers with the specifiednameandvalues.CombinedHttpHeaders.CombinedHttpHeadersImpladd(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)Adds new headers with the specifiednameandvalues.private CombinedHttpHeaders.CombinedHttpHeadersImpladdEscapedValue(java.lang.CharSequence name, java.lang.CharSequence escapedValue)CombinedHttpHeaders.CombinedHttpHeadersImpladdObject(java.lang.CharSequence name, java.lang.Iterable<?> values)Adds a new header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImpladdObject(java.lang.CharSequence name, java.lang.Object value)Adds a new header.CombinedHttpHeaders.CombinedHttpHeadersImpladdObject(java.lang.CharSequence name, java.lang.Object... values)Adds a new header with the specified name and values.private static booleancannotBeCombined(java.lang.CharSequence name)private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence>charSequenceEscaper()private static <T> java.lang.CharSequencecommaSeparate(CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, java.lang.Iterable<? extends T> values)private static <T> java.lang.CharSequencecommaSeparate(CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, T... values)private static java.lang.CharSequencecommaSeparateEscapedValues(java.lang.CharSequence currentValue, java.lang.CharSequence value)java.util.List<java.lang.CharSequence>getAll(java.lang.CharSequence name)Returns all values for the header with the specified name.private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object>objectEscaper()CombinedHttpHeaders.CombinedHttpHeadersImplset(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)Clears the current header entries and copies all header entries of the specifiedheaders.CombinedHttpHeaders.CombinedHttpHeadersImplset(java.lang.CharSequence name, java.lang.CharSequence... values)Sets a header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImplset(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)Sets a new header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImplsetAll(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)Retains all current headers but calls#set(K, V)for each entry inheaders.CombinedHttpHeaders.CombinedHttpHeadersImplsetObject(java.lang.CharSequence name, java.lang.Iterable<?> values)Sets a header with the specified name and values.CombinedHttpHeaders.CombinedHttpHeadersImplsetObject(java.lang.CharSequence name, java.lang.Object value)Sets a new header.CombinedHttpHeaders.CombinedHttpHeadersImplsetObject(java.lang.CharSequence name, java.lang.Object... values)Sets a header with the specified name and values.java.util.Iterator<java.lang.CharSequence>valueIterator(java.lang.CharSequence name)Equivalent toDefaultHeaders.getAll(Object)but no intermediate list is generated.-
Methods inherited from class io.netty.handler.codec.DefaultHeaders
addBoolean, addByte, addChar, addDouble, addFloat, addImpl, addInt, addLong, addShort, addTimeMillis, clear, contains, contains, contains, containsBoolean, containsByte, containsChar, containsDouble, containsFloat, containsInt, containsLong, containsObject, containsShort, containsTimeMillis, copy, equals, equals, get, get, getAllAndRemove, getAndRemove, getAndRemove, getBoolean, getBoolean, getBooleanAndRemove, getBooleanAndRemove, getByte, getByte, getByteAndRemove, getByteAndRemove, getChar, getChar, getCharAndRemove, getCharAndRemove, getDouble, getDouble, getDoubleAndRemove, getDoubleAndRemove, getFloat, getFloat, getFloatAndRemove, getFloatAndRemove, getInt, getInt, getIntAndRemove, getIntAndRemove, getLong, getLong, getLongAndRemove, getLongAndRemove, getShort, getShort, getShortAndRemove, getShortAndRemove, getTimeMillis, getTimeMillis, getTimeMillisAndRemove, getTimeMillisAndRemove, hashCode, hashCode, isEmpty, iterator, names, newHeaderEntry, remove, set, setBoolean, setByte, setChar, setDouble, setFloat, setInt, setLong, setShort, setTimeMillis, size, toString, valueConverter
-
-
-
-
Field Detail
-
VALUE_LENGTH_ESTIMATE
private static final int VALUE_LENGTH_ESTIMATE
An estimate of the size of a header value.- See Also:
- Constant Field Values
-
objectEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object> objectEscaper
-
charSequenceEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence> charSequenceEscaper
-
-
Constructor Detail
-
CombinedHttpHeadersImpl
CombinedHttpHeadersImpl(HashingStrategy<java.lang.CharSequence> nameHashingStrategy, ValueConverter<java.lang.CharSequence> valueConverter, DefaultHeaders.NameValidator<java.lang.CharSequence> nameValidator)
-
-
Method Detail
-
objectEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.Object> objectEscaper()
-
charSequenceEscaper
private CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<java.lang.CharSequence> charSequenceEscaper()
-
valueIterator
public java.util.Iterator<java.lang.CharSequence> valueIterator(java.lang.CharSequence name)
Description copied from class:DefaultHeadersEquivalent toDefaultHeaders.getAll(Object)but no intermediate list is generated.- Overrides:
valueIteratorin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the name of the header to retrieve- Returns:
- an
Iteratorof header values corresponding toname.
-
getAll
public java.util.List<java.lang.CharSequence> getAll(java.lang.CharSequence name)
Description copied from interface:HeadersReturns all values for the header with the specified name. The returnedListcan't be modified.- Specified by:
getAllin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
getAllin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the name of the header to retrieve- Returns:
- a
Listof header values or an emptyListif no values are found.
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Description copied from interface:HeadersAdds all header names and values ofheadersto this object.- Specified by:
addin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Returns:
this
-
set
public CombinedHttpHeaders.CombinedHttpHeadersImpl set(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Description copied from interface:HeadersClears the current header entries and copies all header entries of the specifiedheaders.- Specified by:
setin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Returns:
this
-
setAll
public CombinedHttpHeaders.CombinedHttpHeadersImpl setAll(Headers<? extends java.lang.CharSequence,? extends java.lang.CharSequence,?> headers)
Description copied from interface:HeadersRetains all current headers but calls#set(K, V)for each entry inheaders.- Specified by:
setAllin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setAllin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
headers- The headers used to#set(K, V)values in this instance- Returns:
this
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(java.lang.CharSequence name, java.lang.CharSequence value)
Description copied from interface:HeadersAdds a new header with the specifiednameandvalue.- Specified by:
addin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the name of the headervalue- the value of the header- Returns:
this
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(java.lang.CharSequence name, java.lang.CharSequence... values)
Description copied from interface:HeadersAdds new headers with the specifiednameandvalues. This method is semantically equivalent tofor (T value : values) { headers.add(name, value); }- Specified by:
addin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the values of the header- Returns:
this
-
add
public CombinedHttpHeaders.CombinedHttpHeadersImpl add(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)
Description copied from interface:HeadersAdds new headers with the specifiednameandvalues. This method is semantically equivalent tofor (T value : values) { headers.add(name, value); }- Specified by:
addin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the values of the header- Returns:
this
-
addObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl addObject(java.lang.CharSequence name, java.lang.Object value)
Description copied from interface:HeadersAdds a new header. Before thevalueis added, it's converted to typeT.- Specified by:
addObjectin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addObjectin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalue- the value of the header- Returns:
this
-
addObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl addObject(java.lang.CharSequence name, java.lang.Iterable<?> values)
Description copied from interface:HeadersAdds a new header with the specified name and values. This method is equivalent tofor (Object v : values) { headers.addObject(name, v); }- Specified by:
addObjectin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addObjectin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the value of the header- Returns:
this
-
addObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl addObject(java.lang.CharSequence name, java.lang.Object... values)
Description copied from interface:HeadersAdds a new header with the specified name and values. This method is equivalent tofor (Object v : values) { headers.addObject(name, v); }- Specified by:
addObjectin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
addObjectin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the value of the header- Returns:
this
-
set
public CombinedHttpHeaders.CombinedHttpHeadersImpl set(java.lang.CharSequence name, java.lang.CharSequence... values)
Description copied from interface:HeadersSets a header with the specified name and values. Any existing headers with this name are removed. This method is equivalent to:headers.remove(name); for (T v : values) { headers.add(name, v); }- Specified by:
setin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the value of the header- Returns:
this
-
set
public CombinedHttpHeaders.CombinedHttpHeadersImpl set(java.lang.CharSequence name, java.lang.Iterable<? extends java.lang.CharSequence> values)
Description copied from interface:HeadersSets a new header with the specified name and values. This method is equivalent tofor (T v : values) { headers.addObject(name, v); }- Specified by:
setin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the value of the header- Returns:
this
-
setObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl setObject(java.lang.CharSequence name, java.lang.Object value)
Description copied from interface:HeadersSets a new header. Any existing headers with this name are removed. Before thevalueis add, it's converted to typeT.- Specified by:
setObjectin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setObjectin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalue- the value of the header- Returns:
this
-
setObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl setObject(java.lang.CharSequence name, java.lang.Object... values)
Description copied from interface:HeadersSets a header with the specified name and values. Any existing headers with this name are removed. This method is equivalent to:headers.remove(name); for (Object v : values) { headers.addObject(name, v); }- Specified by:
setObjectin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setObjectin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the values of the header- Returns:
this
-
setObject
public CombinedHttpHeaders.CombinedHttpHeadersImpl setObject(java.lang.CharSequence name, java.lang.Iterable<?> values)
Description copied from interface:HeadersSets a header with the specified name and values. Any existing headers with this name are removed. This method is equivalent to:headers.remove(name); for (Object v : values) { headers.addObject(name, v); }- Specified by:
setObjectin interfaceHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Overrides:
setObjectin classDefaultHeaders<java.lang.CharSequence,java.lang.CharSequence,CombinedHttpHeaders.CombinedHttpHeadersImpl>- Parameters:
name- the header namevalues- the values of the header- Returns:
this
-
cannotBeCombined
private static boolean cannotBeCombined(java.lang.CharSequence name)
-
addEscapedValue
private CombinedHttpHeaders.CombinedHttpHeadersImpl addEscapedValue(java.lang.CharSequence name, java.lang.CharSequence escapedValue)
-
commaSeparate
private static <T> java.lang.CharSequence commaSeparate(CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, T... values)
-
commaSeparate
private static <T> java.lang.CharSequence commaSeparate(CombinedHttpHeaders.CombinedHttpHeadersImpl.CsvValueEscaper<T> escaper, java.lang.Iterable<? extends T> values)
-
commaSeparateEscapedValues
private static java.lang.CharSequence commaSeparateEscapedValues(java.lang.CharSequence currentValue, java.lang.CharSequence value)
-
-