conversations-classic/src/main/java/eu/siacs/conversations/utils/NickValidityChecker.java

33 lines
1 KiB
Java
Raw Normal View History

package eu.siacs.conversations.utils;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import eu.siacs.conversations.entities.Conversation;
2018-03-05 17:30:40 +00:00
import rocks.xmpp.addr.Jid;
public class NickValidityChecker {
private static boolean check(final Conversation conversation, final String nick) {
Jid room = conversation.getJid();
try {
2018-03-05 17:30:40 +00:00
Jid full = Jid.of(room.getLocal(), room.getDomain(), nick);
return conversation.hasMessageWithCounterpart(full)
|| conversation.getMucOptions().findUserByFullJid(full) != null;
2018-03-05 17:30:40 +00:00
} 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;
}
}