Class DelegatingByTopicSerializer

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, org.apache.kafka.common.serialization.Serializer<java.lang.Object>

    public class DelegatingByTopicSerializer
    extends DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Serializer<?>>
    implements org.apache.kafka.common.serialization.Serializer<java.lang.Object>
    A Serializer that delegates to other serializers based on a topic pattern.
    Since:
    2.8
    Author:
    Gary Russell
    • Constructor Detail

      • DelegatingByTopicSerializer

        public DelegatingByTopicSerializer​(java.util.Map<java.util.regex.Pattern,​org.apache.kafka.common.serialization.Serializer<?>> delegates,
                                           org.apache.kafka.common.serialization.Serializer<?> defaultDelegate)
        Construct an instance with the supplied mapping of topic patterns to delegate serializers.
        Parameters:
        delegates - the map of delegates.
        defaultDelegate - the default to use when no topic name match.
    • Method Detail

      • configure

        public void configure​(java.util.Map<java.lang.String,​?> configs,
                              boolean isKey)
        Specified by:
        configure in interface org.apache.kafka.common.serialization.Serializer<java.lang.Object>
        Overrides:
        configure in class DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Serializer<?>>
      • configureDelegate

        protected org.apache.kafka.common.serialization.Serializer<?> configureDelegate​(java.util.Map<java.lang.String,​?> configs,
                                                                                        boolean isKey,
                                                                                        org.apache.kafka.common.serialization.Serializer<?> delegate)
        Description copied from class: DelegatingByTopicSerialization
        Configure the delegate.
        Specified by:
        configureDelegate in class DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Serializer<?>>
        Parameters:
        configs - the configs.
        isKey - true if this is for keys.
        delegate - the delegate.
        Returns:
        the delegate.
      • isInstance

        protected boolean isInstance​(java.lang.Object instance)
        Description copied from class: DelegatingByTopicSerialization
        Return true if this object is an instance of T.
        Specified by:
        isInstance in class DelegatingByTopicSerialization<org.apache.kafka.common.serialization.Serializer<?>>
        Parameters:
        instance - the delegate.
        Returns:
        true if a T.
      • serialize

        public byte[] serialize​(java.lang.String topic,
                                java.lang.Object data)
        Specified by:
        serialize in interface org.apache.kafka.common.serialization.Serializer<java.lang.Object>
      • serialize

        public byte[] serialize​(java.lang.String topic,
                                org.apache.kafka.common.header.Headers headers,
                                java.lang.Object data)
        Specified by:
        serialize in interface org.apache.kafka.common.serialization.Serializer<java.lang.Object>