public class DefaultHeadersMapFactory extends Object implements HeadersMapFactory
HeadersMapFactory
which uses the CaseInsensitiveMap
.
This implementation uses a CaseInsensitiveMap
storing the headers.
This allows us to be able to lookup headers using case insensitive keys, making it easier for end users
as they do not have to be worried about using exact keys.
See more details at CaseInsensitiveMap
.Constructor and Description |
---|
DefaultHeadersMapFactory() |
Modifier and Type | Method and Description |
---|---|
boolean |
isCaseInsensitive()
Whether the created
Map are case insensitive or not. |
boolean |
isInstanceOf(Map<String,Object> map)
Whether the given
Map implementation is created by this factory? |
Map<String,Object> |
newMap()
Creates a new empty
Map |
Map<String,Object> |
newMap(Map<String,Object> map)
Creates a new
Map and copies over all the content from the existing map. |
public DefaultHeadersMapFactory()
public Map<String,Object> newMap()
HeadersMapFactory
Map
newMap
in interface HeadersMapFactory
public Map<String,Object> newMap(Map<String,Object> map)
HeadersMapFactory
Map
and copies over all the content from the existing map.
The copy of the content should use defensive copy, so the returned map
can add/remove/change the content without affecting the existing map.newMap
in interface HeadersMapFactory
map
- existing map to copy over (must use defensive copy)public boolean isInstanceOf(Map<String,Object> map)
HeadersMapFactory
Map
implementation is created by this factory?isInstanceOf
in interface HeadersMapFactory
public boolean isCaseInsensitive()
HeadersMapFactory
Map
are case insensitive or not.
Important: When using case sensitive (this method return false).
Then the map is case sensitive which means headers such as content-type and Content-Type are
two different keys which can be a problem for some protocols such as HTTP based, which rely on case insensitive headers.
However case sensitive implementations can yield faster performance. Therefore use case sensitive implementation with care.isCaseInsensitive
in interface HeadersMapFactory
Apache Camel