import de.juplo.kafka.chat.backend.domain.ChatroomFactory;
import de.juplo.kafka.chat.backend.domain.PersistenceStrategy;
import lombok.RequiredArgsConstructor;
-import org.springframework.stereotype.Component;
import java.util.UUID;
-@Component
+
@RequiredArgsConstructor
-public class InMemoryChatroomFactory implements ChatroomFactory
+public class InMemoryChatroomFactory implements ChatroomFactory<InMemoryPersistenceStrategy>
{
- private final PersistenceStrategy persistenceStrategy;
-
-
@Override
public Chatroom createChatroom(UUID id, String name)
+ {
+ InMemoryPersistenceStrategy persistenceStrategy =
+ new InMemoryPersistenceStrategy(new LinkedHashMap<>());
+ return new Chatroom(id, name, persistenceStrategy);
+ }
+
+ @Override
+ public Chatroom restoreChatroom(
+ UUID id,
+ String name,
+ InMemoryPersistenceStrategy persistenceStrategy)
{
return new Chatroom(id, name, persistenceStrategy);
}