cheogram/src/main/java/eu/siacs/conversations/utils/NickValidityChecker.java
2020-05-15 17:06:16 +02:00

33 lines
1 KiB
Java

package eu.siacs.conversations.utils;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.xmpp.Jid;
public class NickValidityChecker {
private static boolean check(final Conversation conversation, final String nick) {
Jid room = conversation.getJid();
try {
Jid full = Jid.of(room.getLocal(), room.getDomain(), nick);
return conversation.hasMessageWithCounterpart(full)
|| conversation.getMucOptions().findUserByFullJid(full) != null;
} catch (IllegalArgumentException e) {
return false;
}
}
public static boolean check(final Conversation conversation, final List<String> nicks) {
Set<String> previousNicks = new HashSet<>(nicks);
for(String previousNick : previousNicks) {
if (!NickValidityChecker.check(conversation,previousNick)) {
return false;
}
}
return true;
}
}