package org.freecode.irc.event.internal;
import org.freecode.irc.IrcConnection;
import org.freecode.irc.event.JoinListener;
/**
* Created by shivam on 26/04/14.
*/
public class RawJoinProcessor extends RawIrcListener {
public RawJoinProcessor(IrcConnection connection) {
super(connection);
}
public boolean qualifies(String rawLine) {
String[] parts = rawLine.split(" ", 3);
return parts.length == 3 && parts[1].equalsIgnoreCase("join");
}
public void execute(String rawLine) {
String[] parts = rawLine.split(" ", 3);
String mask = parts[0];
String channel = parts[2].startsWith(":") ? parts[2].substring(1) :
parts[2];
String nick = mask.contains("!") ? mask.split("!")[0] : mask;
for (JoinListener listener : connection.getDelegates(JoinListener.class)) {
listener.onJoin(channel, nick, mask);
}
}
}