NG
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / kafka / ChatMessageTo.java
1 package de.juplo.kafka.chat.backend.persistence.kafka;
2
3 import de.juplo.kafka.chat.backend.domain.Message;
4 import lombok.Data;
5
6 import java.time.LocalDateTime;
7
8
9 @Data
10 public class ChatMessageTo extends AbstractTo
11 {
12   private String user;
13   private Long id;
14   private String text;
15
16
17   public ChatMessageTo()
18   {
19     super(ToType.MESSAGE_SENT);
20   }
21
22
23   public Message toMessage(long offset, LocalDateTime timestamp)
24   {
25     return new Message(Message.MessageKey.of(user, id), offset, timestamp, text);
26   }
27
28   public static ChatMessageTo from(Message message)
29   {
30     return ChatMessageTo.of(
31         message.getUsername(),
32         message.getId(),
33         message.getMessageText());
34   }
35
36
37   public static ChatMessageTo of(String user, Long id, String text)
38   {
39     ChatMessageTo to = new ChatMessageTo();
40     to.user = user;
41     to.id = id;
42     to.text = text;
43     return to;
44   }
45 }