package org.freecode.irc.event.internal; import org.freecode.irc.CtcpResponse; import org.freecode.irc.IrcConnection; import org.freecode.irc.Notice; import org.freecode.irc.event.CtcpResponseListener; import org.freecode.irc.event.NoticeListener; /** * User: Shivam * Date: 29/07/13 * Time: 15:51 */ public class RawNoticeProcessor extends RawLineProcessor { public RawNoticeProcessor(IrcConnection connection) { super(connection); } public boolean qualifies(String rawLine) { final String[] parts = rawLine.split(" ", 4); return parts.length == 4 && parts[1].equals("NOTICE"); } public void execute(String rawLine) { if (CtcpResponse.isCtcpResponse(rawLine)) { CtcpResponse ctcpResponse = new CtcpResponse(rawLine, connection); for (CtcpResponseListener listener : connection.getDelegates(CtcpResponseListener.class)) { listener.onCtcpResponse(ctcpResponse); } } else { Notice n = new Notice(rawLine, connection); for (NoticeListener listener : connection.getDelegates(NoticeListener.class)) { listener.onNotice(n); } } } }