package mediator; import java.util.ArrayList; import java.util.List; /** * Concrete Mediator — the chat room that routes messages between users. * Users talk to ChatRoom; ChatRoom talks to users. Nobody else talks to anybody. */ public class ChatRoom implements ChatMediator { private final List users = new ArrayList<>(); @Override public void addUser(User user) { users.add(user); System.out.println(" [ChatRoom] " + user.getName() + " joined the room"); } @Override public void sendMessage(String message, User sender) { for (User user : users) { if (user != sender) { // don't echo back to sender user.receive(message, sender.getName()); } } } }