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}