2.11.6. Kafka Processor Interface

public interface Processor <KIn, VIn, KOut, VOut> {

    // Lifecycle.
    default void init (final ProcessorContext <KOut, VOut> context) {}
    default void close () {}

    // Process individual records.
    void process (Record<KIn, VIn> record);
}


public interface ProcessorContext <KForward, VForward> extends ProcessingContext {

    // Forward record to all child processors.
    <K extends KForward, V extends VForward> void forward (Record <K, V> record);

    // Forward record to specified child processor.
    <K extends KForward, V extends VForward> void forward (Record <K, V> record, final String childName);
}