package com.sissi.pipeline.in.presence.roster; import com.sissi.context.JID; import com.sissi.context.JIDContext; import com.sissi.pipeline.in.ProxyProcessor; import com.sissi.protocol.Protocol; import com.sissi.protocol.presence.Presence; import com.sissi.protocol.presence.PresenceType; /** * Presence type = unsubscribed时向To广播 * * @author kim 2013-11-18 */ public class PresenceRosterUnSubscribed2PresenceProcessor extends ProxyProcessor { @Override public boolean input(JIDContext context, Protocol protocol) { JID to = super.build(protocol.getTo()); Presence presence = protocol.cast(Presence.class).type(PresenceType.UNAVAILABLE); for (JID resource : super.resources(context.jid())) { super.broadcast(to, presence.setFrom(resource)); } return true; } }