WIP
[demos/kafka/training] / src / main / java / de / juplo / kafka / StateDocument.java
diff --git a/src/main/java/de/juplo/kafka/StateDocument.java b/src/main/java/de/juplo/kafka/StateDocument.java
new file mode 100644 (file)
index 0000000..52968cd
--- /dev/null
@@ -0,0 +1,42 @@
+package de.juplo.kafka;
+
+import lombok.ToString;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+@Document(collection = "statistics")
+@ToString
+public class StateDocument
+{
+  @Id
+  public String id;
+  public long offset = -1l;
+  public Map<String, Long> state;
+  public Map<String, List<Long>> seen;
+
+  public StateDocument()
+  {
+  }
+
+  public StateDocument(Integer partition)
+  {
+    this.id = Integer.toString(partition);
+    this.state = new HashMap<>();
+    this.seen = new HashMap<>();
+  }
+
+  public StateDocument(
+      Integer partition,
+      Map<String, Long> state,
+      Map<String, List<Long>> seen)
+  {
+    this.id = Integer.toString(partition);
+    this.state = state;
+    this.seen = seen;
+  }
+}