Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleProcessorWrapper
/**
 * Wrapper class that can be used to inject custom wrappers around the processors of their application topology.
 * The returned instance MUST wrap the supplied {@code ProcessorSupplier} and the {@code Processor} it supplies.
 * Returning a new or completely different instance can have unexpected and undesirable affects.
 * <p>
 * Note that while this API itself is stable, there is no guarantee to the ordering or type of processor suppliers passed 
 * in for a given Kafka Streams topology, nor for the names of processors received. T
 */
public interface ProcessorWrapper {

    <KIn, VIn, KOut, VOut> ProcessorSupplier<KIn, VIn, KOut, VOut> wrapProcessorSupplier(final String processorName, 
                                                                                         final ProcessorSupplier<KIn, VIn, KOut, VOut> processorSupplier);

    <KIn, VIn,  VOut> FixedKeyProcessorSupplier<KIn, VIn,  VOut> wrapFixedKeyProcessorSupplier(final String processorName, 
                                                                                               final FixedKeyProcessorSupplier<KIn, VIn, VOut> processorSupplier);
}

...