refactor: Implementierung an Branch `stored-offsets` angepasst
[demos/kafka/training] / src / test / java / de / juplo / kafka / TestRecordHandler.java
diff --git a/src/test/java/de/juplo/kafka/TestRecordHandler.java b/src/test/java/de/juplo/kafka/TestRecordHandler.java
new file mode 100644 (file)
index 0000000..4047093
--- /dev/null
@@ -0,0 +1,41 @@
+package de.juplo.kafka;
+
+import lombok.RequiredArgsConstructor;
+import org.apache.kafka.clients.consumer.ConsumerRecord;
+import org.apache.kafka.common.TopicPartition;
+
+
+@RequiredArgsConstructor
+public abstract class TestRecordHandler<K, V> implements RecordHandler<K, V>
+{
+  private final RecordHandler<K, V> handler;
+
+
+  public abstract void onNewRecord(ConsumerRecord<K, V> record);
+
+
+  @Override
+  public void accept(ConsumerRecord<K, V> record)
+  {
+    this.onNewRecord(record);
+    handler.accept(record);
+  }
+  @Override
+
+  public void beforeNextPoll()
+  {
+    handler.beforeNextPoll();
+  }
+
+  @Override
+  public void onPartitionAssigned(TopicPartition tp)
+  {
+    handler.onPartitionAssigned(tp);
+  }
+
+  @Override
+  public void onPartitionRevoked(TopicPartition tp)
+  {
+    handler.onPartitionRevoked(tp);
+  }
+}