package com.sissi.broadcast.impl; import com.sissi.addressing.Addressing; import com.sissi.broadcast.BroadcastProtocol; import com.sissi.context.JID; import com.sissi.context.JIDBuilder; import com.sissi.protocol.Protocol; import com.sissi.ucenter.relation.RelationContext; /** * 对JID订阅者所有资源进行XMPP节广播 * * @author kim 2014年1月15日 */ public class ToFansBroadcastProtocol extends BaseBroadcastProtocol implements BroadcastProtocol { private final RelationContext relationContext; public ToFansBroadcastProtocol(JIDBuilder jidBuilder, Addressing addressing, RelationContext relationContext) { super(jidBuilder, addressing); this.relationContext = relationContext; } @Override public ToFansBroadcastProtocol broadcast(JID jid, Protocol protocol) { for (JID each : this.relationContext.whoSubscribedMe(jid)) { super.addressing.find(each).write(protocol); } return this; } }