Class AbstractKafkaHeaderMapper

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected org.springframework.core.log.LogAccessor logger  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractKafkaHeaderMapper​(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 Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void addMatchers​(AbstractKafkaHeaderMapper.HeaderMatcher... matchersToAdd)
      Subclasses can invoke this to add custom AbstractKafkaHeaderMapper.HeaderMatchers.
      void addRawMappedHeader​(java.lang.String name, boolean toString)
      Add a raw mapped header.
      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)  
      protected boolean matchesForInbound​(java.lang.String header)
      Matches header names for inbound mapping when configured as an inbound mapper.
      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).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        protected final org.springframework.core.log.LogAccessor logger
    • Constructor Detail

      • AbstractKafkaHeaderMapper

        public 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.
      • AbstractKafkaHeaderMapper

        protected 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

      • setMapAllStringsOut

        public void setMapAllStringsOut​(boolean mapAllStringsOut)
        Set to true to map all String valued outbound headers to byte[]. To map to a String for 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)
      • getCharset

        protected java.nio.charset.Charset getCharset()
      • setCharset

        public 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)
      • setRawMappedHeaders

        public 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). 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.
        Parameters:
        rawMappedHeaders - the header names to not convert and
        Since:
        2.2.5
        See Also:
        setCharset(Charset), setMapAllStringsOut(boolean)
      • addRawMappedHeader

        public 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)
      • matches

        protected boolean matches​(java.lang.String header,
                                  java.lang.Object value)
      • matches

        protected boolean matches​(java.lang.String header)
      • matchesForInbound

        protected 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
      • headerValueToAddOut

        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.
        Parameters:
        key - the header name.
        value - the header value.
        Returns:
        the value to add.
        Since:
        2.2.5
      • headerValueToAddIn

        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.
        Parameters:
        header - the header.
        Returns:
        the value to add.