package org.freecode.irc.event.internal; import org.freecode.irc.CtcpRequest; import org.freecode.irc.IrcConnection; import org.freecode.irc.Privmsg; import org.freecode.irc.event.CtcpRequestListener; import org.freecode.irc.event.PrivateMessageListener; /** * User: Shivam * Date: 16/06/13 * Time: 23:57 */ public class RawPrivateMessageProcessor extends RawLineProcessor { public RawPrivateMessageProcessor(IrcConnection connection) { super(connection); } public boolean qualifies(String rawLine) { final String[] parts = rawLine.split(" ", 4); return parts.length == 4 && parts[1].equals("PRIVMSG"); //&& !CtcpRequest.isCtcpRequest(rawLine); //&& parts[3].startsWith(":"); } public void execute(String rawLine) { if (!CtcpRequest.isCtcpRequest(rawLine)) { final Privmsg privmsg = new Privmsg(rawLine, connection); for (PrivateMessageListener listener : connection.getDelegates(PrivateMessageListener.class)) { listener.onPrivmsg(privmsg); } } else { final CtcpRequest request = new CtcpRequest(rawLine, connection); for (CtcpRequestListener listener : connection.getDelegates(CtcpRequestListener.class)) { listener.onCtcpRequest(request); } } } }