public abstract class AbstractKafkaHeaderMapper extends java.lang.Object implements KafkaHeaderMapper
Modifier and Type | Class and Description |
---|---|
protected static interface |
AbstractKafkaHeaderMapper.HeaderMatcher
A matcher for headers.
|
protected static class |
AbstractKafkaHeaderMapper.NeverMatchHeaderMatcher
A matcher that never matches a set of headers.
|
protected static class |
AbstractKafkaHeaderMapper.SimplePatternBasedHeaderMatcher
A pattern-based header matcher that matches if the specified
header matches the specified simple pattern.
|
Modifier and Type | Field and Description |
---|---|
protected org.springframework.core.log.LogAccessor |
logger |
Constructor and Description |
---|
AbstractKafkaHeaderMapper(java.lang.String... patterns) |
Modifier and Type | Method and Description |
---|---|
protected void |
addMatchers(AbstractKafkaHeaderMapper.HeaderMatcher... matchersToAdd)
Subclasses can invoke this to add custom
AbstractKafkaHeaderMapper.HeaderMatcher s. |
protected java.nio.charset.Charset |
getCharset() |
protected java.lang.Object |
headerValueToAddIn(org.apache.kafka.common.header.Header header)
Check if the header value should be mapped to a String, if so configured.
|
protected java.lang.Object |
headerValueToAddOut(java.lang.String key,
java.lang.Object value)
Check if the value is a String and convert to byte[], if so configured.
|
protected boolean |
matches(java.lang.String header) |
protected boolean |
matches(java.lang.String header,
java.lang.Object value) |
void |
setCharset(java.nio.charset.Charset charset)
Set the charset to use when mapping String-valued headers to/from byte[].
|
void |
setMapAllStringsOut(boolean mapAllStringsOut)
Set to true to map all
String valued outbound headers to byte[] . |
void |
setRawMappedHeaders(java.util.Map<java.lang.String,java.lang.Boolean> rawMappedHeaders)
Set the headers to not perform any conversion on (except
String to
byte[] for outbound). |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
fromHeaders, toHeaders
public AbstractKafkaHeaderMapper(java.lang.String... patterns)
protected final void addMatchers(AbstractKafkaHeaderMapper.HeaderMatcher... matchersToAdd)
AbstractKafkaHeaderMapper.HeaderMatcher
s.matchersToAdd
- the matchers to add.public void setMapAllStringsOut(boolean mapAllStringsOut)
String
valued outbound headers to byte[]
.
To map to a String
for inbound, there must be an entry in the rawMappedHeaders map.mapAllStringsOut
- true to map all strings.setRawMappedHeaders(Map)
protected java.nio.charset.Charset getCharset()
public void setCharset(java.nio.charset.Charset charset)
charset
- the charset.setRawMappedHeaders(Map)
public void setRawMappedHeaders(java.util.Map<java.lang.String,java.lang.Boolean> rawMappedHeaders)
String
to
byte[]
for outbound). Inbound headers that match will be mapped as
byte[]
unless the corresponding boolean in the map value is true,
in which case it will be mapped as a String.rawMappedHeaders
- the header names to not convert andsetCharset(Charset)
,
setMapAllStringsOut(boolean)
protected boolean matches(java.lang.String header, java.lang.Object value)
protected boolean matches(java.lang.String header)
protected java.lang.Object headerValueToAddOut(java.lang.String key, java.lang.Object value)
key
- the header name.value
- the header value.protected java.lang.Object headerValueToAddIn(org.apache.kafka.common.header.Header header)
header
- the header.