fix: `Chatroom`s must not share an instance of `PersistanceStrategy`
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / InMemoryChatroomFactory.java
1 package de.juplo.kafka.chat.backend.persistence;
2
3 import de.juplo.kafka.chat.backend.domain.Chatroom;
4 import de.juplo.kafka.chat.backend.domain.ChatroomFactory;
5 import de.juplo.kafka.chat.backend.domain.PersistenceStrategy;
6 import lombok.RequiredArgsConstructor;
7
8 import java.util.UUID;
9
10
11 @RequiredArgsConstructor
12 public class InMemoryChatroomFactory implements ChatroomFactory<InMemoryPersistenceStrategy>
13 {
14   @Override
15   public Chatroom createChatroom(UUID id, String name)
16   {
17     InMemoryPersistenceStrategy persistenceStrategy =
18         new InMemoryPersistenceStrategy(new LinkedHashMap<>());
19     return new Chatroom(id, name, persistenceStrategy);
20   }
21
22   @Override
23   public Chatroom restoreChatroom(
24       UUID id,
25       String name,
26       InMemoryPersistenceStrategy persistenceStrategy)
27   {
28     return new Chatroom(id, name, persistenceStrategy);
29   }
30 }