WIP
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / kafka / ChatRoomLoadingMessageHandlingStrategy.java
diff --git a/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/ChatRoomLoadingMessageHandlingStrategy.java b/src/main/java/de/juplo/kafka/chat/backend/persistence/kafka/ChatRoomLoadingMessageHandlingStrategy.java
new file mode 100644 (file)
index 0000000..af99b80
--- /dev/null
@@ -0,0 +1,35 @@
+package de.juplo.kafka.chat.backend.persistence.kafka;
+
+import de.juplo.kafka.chat.backend.domain.Message;
+import org.apache.kafka.clients.consumer.Consumer;
+import org.apache.kafka.common.TopicPartition;
+
+
+class ChatRoomLoadingMessageHandlingStrategy implements MessageHandlingStrategy
+{
+  private final Consumer consumer;
+  private final TopicPartition tp;
+  private final long currentOffset;
+  private final long unseenOffset;
+
+  ChatRoomLoadingMessageHandlingStrategy(
+      Consumer consumer,
+      TopicPartition tp,
+      long currentOffset,
+      long unseenOffset)
+  {
+    this.consumer = consumer;
+    this.tp = tp;
+    this.currentOffset = currentOffset;
+    this.unseenOffset = unseenOffset;
+
+    consumer.seek(tp, unseenOffset);
+  }
+
+  @Override
+  public MessageHandlingStrategy handleMessage(Message message)
+  {
+    // todo
+    return this;
+  }
+}