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.InvalidJidException;
9import eu.siacs.conversations.xmpp.jid.Jid;
10
11public class NickValidityChecker {
12
13 private static boolean check(final Conversation conversation, final String nick) {
14 Jid room = conversation.getJid();
15 try {
16 Jid full = Jid.fromParts(room.getLocalpart(), room.getDomainpart(), nick);
17 return conversation.hasMessageWithCounterpart(full)
18 || conversation.getMucOptions().findUserByFullJid(full) != null;
19 } catch (InvalidJidException e) {
20 return false;
21 }
22 }
23
24 public static boolean check(final Conversation conversation, final List<String> nicks) {
25 Set<String> previousNicks = new HashSet<>(nicks);
26 for(String previousNick : previousNicks) {
27 if (!NickValidityChecker.check(conversation,previousNick)) {
28 return false;
29 }
30 }
31 return true;
32 }
33}