1package eu.siacs.conversations.utils;
 2
 3import java.util.HashSet;
 4import java.util.List;
 5import java.util.Set;
 6
 7import eu.siacs.conversations.entities.Conversation;
 8import eu.siacs.conversations.xmpp.Jid;
 9
10public class NickValidityChecker {
11
12    private static boolean check(final Conversation conversation, final String nick) {
13        Jid room = conversation.getJid();
14        try {
15            Jid full = Jid.of(room.getLocal(), room.getDomain(), nick);
16            return conversation.hasMessageWithCounterpart(full)
17                    || conversation.getMucOptions().findUserByFullJid(full) != null;
18        } catch (IllegalArgumentException e) {
19            return false;
20        }
21    }
22
23    public static boolean check(final Conversation conversation, final List<String> nicks) {
24        Set<String> previousNicks = new HashSet<>(nicks);
25        for(String previousNick : previousNicks) {
26            if (!NickValidityChecker.check(conversation,previousNick)) {
27                return false;
28            }
29        }
30        return true;
31    }
32}