Class AbstractKafkaHeaderMapper
- java.lang.Object
- 
- org.springframework.kafka.support.AbstractKafkaHeaderMapper
 
- 
- All Implemented Interfaces:
- KafkaHeaderMapper
 - Direct Known Subclasses:
- DefaultKafkaHeaderMapper,- SimpleKafkaHeaderMapper
 
 public abstract class AbstractKafkaHeaderMapper extends java.lang.Object implements KafkaHeaderMapper Base for Kafka header mappers.- Since:
- 2.1.3
- Author:
- Gary Russell, Artem Bilan
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected static interfaceAbstractKafkaHeaderMapper.HeaderMatcherA matcher for headers.protected static classAbstractKafkaHeaderMapper.NeverMatchHeaderMatcherA matcher that never matches a set of headers.protected static classAbstractKafkaHeaderMapper.SimplePatternBasedHeaderMatcherA pattern-based header matcher that matches if the specified header matches the specified simple pattern.
 - 
Field SummaryFields Modifier and Type Field Description protected org.springframework.core.log.LogAccessorlogger
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedAbstractKafkaHeaderMapper(boolean outbound, java.lang.String... patterns)Construct a mapper that will match the supplied patterns (outbound) and all headers (inbound).AbstractKafkaHeaderMapper(java.lang.String... patterns)Construct a mapper that will match the supplied patterns (outbound) and all headers (inbound).
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddMatchers(AbstractKafkaHeaderMapper.HeaderMatcher... matchersToAdd)Subclasses can invoke this to add customAbstractKafkaHeaderMapper.HeaderMatchers.voidaddRawMappedHeader(java.lang.String name, boolean toString)Add a raw mapped header.protected java.nio.charset.CharsetgetCharset()protected java.lang.ObjectheaderValueToAddIn(org.apache.kafka.common.header.Header header)Check if the header value should be mapped to a String, if so configured.protected java.lang.ObjectheaderValueToAddOut(java.lang.String key, java.lang.Object value)Check if the value is a String and convert to byte[], if so configured.protected booleanmatches(java.lang.String header)protected booleanmatches(java.lang.String header, java.lang.Object value)protected booleanmatchesForInbound(java.lang.String header)Matches header names for inbound mapping when configured as an inbound mapper.voidsetCharset(java.nio.charset.Charset charset)Set the charset to use when mapping String-valued headers to/from byte[].voidsetMapAllStringsOut(boolean mapAllStringsOut)Set to true to map allStringvalued outbound headers tobyte[].voidsetRawMappedHeaders(java.util.Map<java.lang.String,java.lang.Boolean> rawMappedHeaders)Set the headers to not perform any conversion on (exceptStringtobyte[]for outbound).- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.springframework.kafka.support.KafkaHeaderMapperfromHeaders, toHeaders
 
- 
 
- 
- 
- 
Constructor Detail- 
AbstractKafkaHeaderMapperpublic AbstractKafkaHeaderMapper(java.lang.String... patterns) Construct a mapper that will match the supplied patterns (outbound) and all headers (inbound). For outbound mapping, certain internal framework headers are never mapped.- Parameters:
- patterns- the patterns.
 
 - 
AbstractKafkaHeaderMapperprotected AbstractKafkaHeaderMapper(boolean outbound, java.lang.String... patterns)Construct a mapper that will match the supplied patterns (outbound) and all headers (inbound). For outbound mapping, certain internal framework headers are never mapped.- Parameters:
- outbound- true for an outbound mapper.
- patterns- the patterns.
 
 
- 
 - 
Method Detail- 
addMatchersprotected final void addMatchers(AbstractKafkaHeaderMapper.HeaderMatcher... matchersToAdd) Subclasses can invoke this to add customAbstractKafkaHeaderMapper.HeaderMatchers.- Parameters:
- matchersToAdd- the matchers to add.
- Since:
- 2.3
 
 - 
setMapAllStringsOutpublic void setMapAllStringsOut(boolean mapAllStringsOut) Set to true to map allStringvalued outbound headers tobyte[]. To map to aStringfor inbound, there must be an entry in the rawMappedHeaders map.- Parameters:
- mapAllStringsOut- true to map all strings.
- Since:
- 2.2.5
- See Also:
- setRawMappedHeaders(Map)
 
 - 
getCharsetprotected java.nio.charset.Charset getCharset() 
 - 
setCharsetpublic void setCharset(java.nio.charset.Charset charset) Set the charset to use when mapping String-valued headers to/from byte[]. Default UTF-8.- Parameters:
- charset- the charset.
- Since:
- 2.2.5
- See Also:
- setRawMappedHeaders(Map)
 
 - 
setRawMappedHeaderspublic void setRawMappedHeaders(java.util.Map<java.lang.String,java.lang.Boolean> rawMappedHeaders) Set the headers to not perform any conversion on (exceptStringtobyte[]for outbound). Inbound headers that match will be mapped asbyte[]unless the corresponding boolean in the map value is true, in which case it will be mapped as a String.- Parameters:
- rawMappedHeaders- the header names to not convert and
- Since:
- 2.2.5
- See Also:
- setCharset(Charset),- setMapAllStringsOut(boolean)
 
 - 
addRawMappedHeaderpublic void addRawMappedHeader(java.lang.String name, boolean toString)Add a raw mapped header.- Parameters:
- name- the header name.
- toString- convert to string on inbound when true.
- Since:
- 2.7.1
- See Also:
- setRawMappedHeaders(Map)
 
 - 
matchesprotected boolean matches(java.lang.String header, java.lang.Object value)
 - 
matchesprotected boolean matches(java.lang.String header) 
 - 
matchesForInboundprotected boolean matchesForInbound(java.lang.String header) Matches header names for inbound mapping when configured as an inbound mapper.- Parameters:
- header- the header name.
- Returns:
- true if it can be mapped.
- Since:
- 2.8.8
 
 - 
headerValueToAddOutprotected 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.- Parameters:
- key- the header name.
- value- the header value.
- Returns:
- the value to add.
- Since:
- 2.2.5
 
 - 
headerValueToAddInprotected 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.- Parameters:
- header- the header.
- Returns:
- the value to add.
 
 
- 
 
-