52968cdb5912f85fef4cf59c8b426424eeca54d9
[demos/kafka/training] / src / main / java / de / juplo / kafka / StateDocument.java
1 package de.juplo.kafka;
2
3 import lombok.ToString;
4 import org.springframework.data.annotation.Id;
5 import org.springframework.data.mongodb.core.mapping.Document;
6
7 import java.util.HashMap;
8 import java.util.List;
9 import java.util.Map;
10
11
12 @Document(collection = "statistics")
13 @ToString
14 public class StateDocument
15 {
16   @Id
17   public String id;
18   public long offset = -1l;
19   public Map<String, Long> state;
20   public Map<String, List<Long>> seen;
21
22   public StateDocument()
23   {
24   }
25
26   public StateDocument(Integer partition)
27   {
28     this.id = Integer.toString(partition);
29     this.state = new HashMap<>();
30     this.seen = new HashMap<>();
31   }
32
33   public StateDocument(
34       Integer partition,
35       Map<String, Long> state,
36       Map<String, List<Long>> seen)
37   {
38     this.id = Integer.toString(partition);
39     this.state = state;
40     this.seen = seen;
41   }
42 }