Package io.vertx.core
Interface MultiMap
-
public interface MultiMap extends Iterable<Map.Entry<String,String>>
This class represents a MultiMap of String keys to a List of String values.It's useful in Vert.x to represent things in Vert.x like HTTP headers and HTTP parameters which allow multiple values for keys.
- Author:
- Norman Maurer, Tim Fox
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description MultiMap
add(CharSequence name, CharSequence value)
Likeadd(String, String)
but acceptingCharSequence
as parametersMultiMap
add(CharSequence name, Iterable<CharSequence> values)
Likeadd(String, Iterable)
but acceptingCharSequence
as parametersMultiMap
add(String name, Iterable<String> values)
Adds a new values under the specified nameMultiMap
add(String name, String value)
Adds a new value with the specified name and value.MultiMap
addAll(MultiMap map)
Adds all the entries from another MultiMap to this oneMultiMap
addAll(Map<String,String> headers)
Adds all the entries from a Map to thisstatic MultiMap
caseInsensitiveMultiMap()
Create a multi-map implementation with case insensitive keys, for instance it can be used to hold some HTTP headers.MultiMap
clear()
Removes allboolean
contains(CharSequence name)
Likecontains(String)
but accepting aCharSequence
as a parameterdefault boolean
contains(CharSequence name, CharSequence value, boolean caseInsensitive)
Likecontains(String, String, boolean)
but acceptingCharSequence
parameters.boolean
contains(String name)
Checks to see if there is a value with the specified namedefault boolean
contains(String name, String value, boolean caseInsensitive)
Check if there is a header with the specifiedname
andvalue
.default List<Map.Entry<String,String>>
entries()
Returns all entries in the multi-map.default void
forEach(java.util.function.BiConsumer<String,String> action)
Allows iterating over the entries in the mapString
get(CharSequence name)
String
get(String name)
Returns the value of with the specified name.List<String>
getAll(CharSequence name)
LikegetAll(String)
but accepting aCharSequence
as a parameterList<String>
getAll(String name)
Returns the values with the specified nameboolean
isEmpty()
Return true if emptySet<String>
names()
Gets a immutableSet
of all namesMultiMap
remove(CharSequence name)
Likeremove(String)
but acceptingCharSequence
as parametersMultiMap
remove(String name)
Removes the value with the given nameMultiMap
set(CharSequence name, CharSequence value)
Likeset(String, String)
but acceptingCharSequence
as parametersMultiMap
set(CharSequence name, Iterable<CharSequence> values)
Likeset(String, Iterable)
but acceptingCharSequence
as parametersMultiMap
set(String name, Iterable<String> values)
Sets values for the specified name.MultiMap
set(String name, String value)
Sets avalue
under the specifiedname
.MultiMap
setAll(MultiMap map)
Cleans this instance.MultiMap
setAll(Map<String,String> headers)
Cleans and set all values of the given instanceint
size()
Return the number of keys.-
Methods inherited from interface java.lang.Iterable
forEach, iterator, spliterator
-
-
-
-
Method Detail
-
caseInsensitiveMultiMap
static MultiMap caseInsensitiveMultiMap()
Create a multi-map implementation with case insensitive keys, for instance it can be used to hold some HTTP headers.- Returns:
- the multi-map
-
get
String get(CharSequence name)
-
get
String get(String name)
Returns the value of with the specified name. If there are more than one values for the specified name, the first value is returned.- Parameters:
name
- The name of the header to search- Returns:
- The first header value or
null
if there is no such entry
-
getAll
List<String> getAll(String name)
Returns the values with the specified name- Parameters:
name
- The name to search- Returns:
- A immutable
List
of values which will be empty if no values are found
-
getAll
List<String> getAll(CharSequence name)
LikegetAll(String)
but accepting aCharSequence
as a parameter
-
forEach
default void forEach(java.util.function.BiConsumer<String,String> action)
Allows iterating over the entries in the map
-
entries
default List<Map.Entry<String,String>> entries()
Returns all entries in the multi-map.- Returns:
- A immutable
List
of the name-value entries, which will be empty if no pairs are found
-
contains
boolean contains(String name)
Checks to see if there is a value with the specified name- Parameters:
name
- The name to search for- Returns:
- true if at least one entry is found
-
contains
boolean contains(CharSequence name)
Likecontains(String)
but accepting aCharSequence
as a parameter
-
contains
default boolean contains(String name, String value, boolean caseInsensitive)
Check if there is a header with the specifiedname
andvalue
. IfcaseInsensitive
istrue
,value
is compared in a case-insensitive way.- Parameters:
name
- the name to search forvalue
- the value to search for- Returns:
true
if at least one entry is found
-
contains
default boolean contains(CharSequence name, CharSequence value, boolean caseInsensitive)
Likecontains(String, String, boolean)
but acceptingCharSequence
parameters.
-
isEmpty
boolean isEmpty()
Return true if empty
-
add
MultiMap add(String name, String value)
Adds a new value with the specified name and value.- Parameters:
name
- The namevalue
- The value being added- Returns:
- a reference to this, so the API can be used fluently
-
add
MultiMap add(CharSequence name, CharSequence value)
Likeadd(String, String)
but acceptingCharSequence
as parameters
-
add
MultiMap add(String name, Iterable<String> values)
Adds a new values under the specified name- Parameters:
name
- The name being setvalues
- The values- Returns:
- a reference to this, so the API can be used fluently
-
add
MultiMap add(CharSequence name, Iterable<CharSequence> values)
Likeadd(String, Iterable)
but acceptingCharSequence
as parameters
-
addAll
MultiMap addAll(MultiMap map)
Adds all the entries from another MultiMap to this one- Returns:
- a reference to this, so the API can be used fluently
-
addAll
MultiMap addAll(Map<String,String> headers)
Adds all the entries from a Map to this- Returns:
- a reference to this, so the API can be used fluently
-
set
MultiMap set(String name, String value)
Sets avalue
under the specifiedname
.If there is an existing header with the same name, it is removed. Setting a
null
value removes the entry.- Parameters:
name
- The namevalue
- The value- Returns:
- a reference to this, so the API can be used fluently
-
set
MultiMap set(CharSequence name, CharSequence value)
Likeset(String, String)
but acceptingCharSequence
as parameters
-
set
MultiMap set(String name, Iterable<String> values)
Sets values for the specified name.- Parameters:
name
- The name of the headers being setvalues
- The values of the headers being set- Returns:
- a reference to this, so the API can be used fluently
-
set
MultiMap set(CharSequence name, Iterable<CharSequence> values)
Likeset(String, Iterable)
but acceptingCharSequence
as parameters
-
setAll
MultiMap setAll(MultiMap map)
Cleans this instance.- Returns:
- a reference to this, so the API can be used fluently
-
setAll
MultiMap setAll(Map<String,String> headers)
Cleans and set all values of the given instance- Returns:
- a reference to this, so the API can be used fluently
-
remove
MultiMap remove(String name)
Removes the value with the given name- Parameters:
name
- The name of the value to remove- Returns:
- a reference to this, so the API can be used fluently
-
remove
MultiMap remove(CharSequence name)
Likeremove(String)
but acceptingCharSequence
as parameters
-
clear
MultiMap clear()
Removes all- Returns:
- a reference to this, so the API can be used fluently
-
size
int size()
Return the number of keys.
-
-